您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysql中外鍵和主鍵的區別有哪些”,在日常操作中,相信很多人在mysql中外鍵和主鍵的區別有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql中外鍵和主鍵的區別有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
mysql中外鍵和主鍵有區別,主要有:1、主鍵用來保證數據完整性,外鍵用來和其他表建立聯系用;2、主鍵只能有一個,而一個表可以有多個外鍵;3、主鍵不能有重復,不允許為空,而外鍵可以有重復,可以是空值。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
主鍵和外鍵都是約束。主鍵用于保持數據完整性,外鍵作用于兩個表建立連接。下面分別介紹主鍵、外鍵及其區別。
表中經常有多個列,主鍵是唯一標識表中每行的列。一個表只能有一個主鍵,主鍵列不能包含null值。
例如:學生表(學號,姓名,性別,班級)
其中每個學生的學號是唯一的,學號就是一個主鍵;
課程表(課程編號,課程名,學分)
其中課程編號是唯一的,課程編號就是一個主鍵
當某一列不能唯一識別每行,使用聯合主鍵,將兩列看為一個整體。非空、唯一、不重復。
例如:成績表(學號,課程號,成績)
成績表中單一一個屬性無法唯一標識一條記錄,學號和課程編號的組合才可以唯一標識一條記錄,所以學號和課程編號的屬性組是一個主鍵。
外鍵用于與另一張表相關聯。以另一個表的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。
表的外鍵值必須在主表中能找到。
當主表的記錄被從表參照時,主表的記錄不允許刪除。
例如:
class表與Student表通過class_id 關聯,實現一對多的關系。class_id作為Student表的外鍵,Student表為從表,在class表中為主鍵,class表為主表。
主鍵:唯一標識一條記錄,不能有重復,不允許為空。
外鍵:表的外鍵是另一表的主鍵,外鍵是可以有重復的,可以是空值。
索引:該字段沒有重復值,但可以有一個空值。
主鍵:用來保證數據完整性
外鍵:用來和其他表建立聯系用
索引:用來提高查詢排序的速度
主鍵:主鍵只能有一個。
外鍵:一個表可以有多個外鍵。
索引:一個表可以有多個唯一索引。
主鍵約束
create table 表名( 列名1 數據類型 primary key, 列名2 數據類型);--------或------------create table 表名( 列名1 數據類型, 列名2 數據類型, primary key(列名1));------已經存在的表-----alter table 表名 add primary key(列名);
外鍵約束
---------主表------create table 表1( 列名1 數據類型 primary key, 列名2 數據類型 );----從表(外鍵約束所在的表)------create table 表2( FK_列名1 數據類型, 列名2 數據類型, constraint 外鍵約束的名字 foreign key(從表的列名1) references 主表表名(主表的列名1));
到此,關于“mysql中外鍵和主鍵的區別有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。