国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中外鍵和主鍵的區別有哪些

2024-07-24 12:33:21
字體:
來源:轉載
供稿:網友

  這篇文章主要介紹“mysql中外鍵和主鍵的區別有哪些”,在日常操作中,相信很多人在mysql中外鍵和主鍵的區別有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysql中外鍵和主鍵的區別有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
 
 
  mysql中外鍵和主鍵有區別,主要有:1、主鍵用來保證數據完整性,外鍵用來和其他表建立聯系用;2、主鍵只能有一個,而一個表可以有多個外鍵;3、主鍵不能有重復,不允許為空,而外鍵可以有重復,可以是空值。
 
  本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
 
  mysql中外鍵和主鍵有區別嗎
  主鍵和外鍵都是約束。主鍵用于保持數據完整性,外鍵作用于兩個表建立連接。下面分別介紹主鍵、外鍵及其區別。
 
  主鍵
  表中經常有多個列,主鍵是唯一標識表中每行的列。一個表只能有一個主鍵,主鍵列不能包含null值。
 
  例如:
  學生表(學號,姓名,性別,班級)
  其中每個學生的學號是唯一的,學號就是一個主鍵;
 
  課程表(課程編號,課程名,學分)
  其中課程編號是唯一的,課程編號就是一個主鍵
 
  聯合主鍵
  當某一列不能唯一識別每行,使用聯合主鍵,將兩列看為一個整體。非空、唯一、不重復。
 
  例如:
  成績表(學號,課程號,成績)
 
  成績表中單一一個屬性無法唯一標識一條記錄,學號和課程編號的組合才可以唯一標識一條記錄,所以學號和課程編號的屬性組是一個主鍵。
 
  外鍵
  外鍵用于與另一張表相關聯。以另一個表的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。
  表的外鍵值必須在主表中能找到。
  當主表的記錄被從表參照時,主表的記錄不允許刪除。
  
  class表與Student表通過class_id 關聯,實現一對多的關系。class_id作為Student表的外鍵,Student表為從表,在class表中為主鍵,class表為主表。
 
  主鍵、外鍵和索引的區別:
  a.定義
  主鍵:唯一標識一條記錄,不能有重復,不允許為空。
  外鍵:表的外鍵是另一表的主鍵,外鍵是可以有重復的,可以是空值。
  索引:該字段沒有重復值,但可以有一個空值。
 
  b.作用
  主鍵:用來保證數據完整性
  外鍵:用來和其他表建立聯系用
  索引:用來提高查詢排序的速度
 
  c.個數
  主鍵:主鍵只能有一個。
  外鍵:一個表可以有多個外鍵。
  索引:一個表可以有多個唯一索引。
 
  添加主鍵、外鍵約束
  主鍵約束
 
  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中外鍵和主鍵的區別有哪些”的學習就結束了,希望能夠解決大家的疑惑。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽阳县| 上犹县| 涿鹿县| 固阳县| 建阳市| 易门县| 彭阳县| 靖西县| 和龙市| 武定县| 鹰潭市| 广南县| 筠连县| 堆龙德庆县| 哈尔滨市| 平度市| 镇康县| 五峰| 电白县| 石狮市| 梁河县| 兴义市| 许昌县| 乐东| 芷江| 任丘市| 台山市| 南部县| 保山市| 噶尔县| 土默特右旗| 内乡县| 德庆县| 漳浦县| 东莞市| 阿图什市| 射洪县| 紫云| 黑水县| 连江县| 盐源县|