MySQL的多表關係梳理及建表的語句

2021-08-17 01:17:26 字數 1062 閱讀 1298

一、一對一的關係:

一對一的關係用的較少(一對一關係可以直接建在一張表內)。

1.舉例:

人和身份證:乙個人只能有一張有效身份證,一張有效身份證只能對應乙個人。

2.建表原則:

2.1兩張表,唯一外來鍵對應主表主鍵(用unique約束外來鍵)

2.2兩張表,兩張表的主鍵各自對應

二、一對多的關係:

1.舉例:

部門和員工:乙個部門可以有多個員工,乙個員工只能屬於乙個部門。

2.建表原則:

在多的一方建立乙個字段(定義為該錶的外來鍵),字段作為外來鍵指向一的一方的主鍵。

*把一的一方稱為主表;多的一方稱為從表。

3.建表的語句

alter table 從表 add [constraint] [外來鍵名稱] foreign key(從表外來鍵欄位名) references 主表(主表主鍵);

**[constraint] [外來鍵名稱]用於刪除外來鍵的約束,建議「-fk」格式結尾。(寫語句時可以省略)

刪除外來鍵約束語句:

alter table 從表 drop foreign key 外來鍵名稱;

三、多對多關係:

1.舉例:

學生選課:乙個學生可以選多門課程;乙個課程也可以被多個學生選。

2.建表原則:

建立一張表作為兩張表的中間表,中間表所含的字段分別作為外來鍵指向各自對應表的主鍵。

*把中間表稱為從表;其他多的方向的表稱為主表。

3.建表語句:(兩個表分開建立與中間表的關係)

3.1表一建表語句

alter table 從表(中間表) add foreign key(表一外來鍵) references 主表一(表一主鍵);

3.2表二建表語句

alter table 從表(中間表) add foreign key(表二外鍵) references 主表二(表二主鍵);

MYSQL多表設計之表關係

mysql多表設計之表關係 1.1多表設計之表關係的介紹 1.1.1表與表之間的關係 1.1.1.1一對多的關係 一對多的例子 乙個部門下可以有多個員工,乙個員工只能屬於某乙個部門。1.1.1一對多關係介紹 一對多關係的建表原則 在多的一方建立外來鍵指向一的一方的主鍵 1.1.1.2多對多的關係 多...

Mysql 建表及查詢規範

int 如無特殊需要,存放整型數字使用unsigned int型。整型欄位後的數字代表顯示長度。整型型別如下表 資料型別 最大儲存長度 有符號 最大儲存長度 無符號 tinyint m 1個位元組 範圍 128 127 1個位元組 範圍 0 256 smallint m 2個位元組 範圍 32768...

mysql 多表及其之間的關係

一對多關係 客戶和訂單 分類和商品 部門和員工。一對多建表原則 在多的一方建立乙個字段,字段作為外來鍵指向一方的主鍵。商品表 product 多 pid 分類表 category 一 cid 通過外來鍵約束,如下 alter table product add foreign key pid ref...