国产探花免费观看_亚洲丰满少妇自慰呻吟_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中外鍵和主鍵的區別有哪些”的學習就結束了,希望能夠解決大家的疑惑。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 工布江达县| 南城县| 全椒县| 海兴县| 尤溪县| 礼泉县| 天水市| 炉霍县| 五常市| 美姑县| 县级市| 石门县| 彩票| 赤城县| 康定县| 石台县| 彭山县| 五寨县| 临江市| 名山县| 洪泽县| 雷州市| 泸溪县| 老河口市| 玉林市| 通山县| 阜宁县| 古丈县| 桦甸市| 博野县| 安康市| 茌平县| 九台市| 平昌县| 双辽市| 宝应县| 阿瓦提县| 平山县| 澳门| 定结县|