數據庫:使用sql語句建表的時候建立外鍵的兩種方式

外鍵約束

外鍵一般是引用另外一張表單的主鍵

外鍵可以重複

外鍵可以為空

主鍵和外鍵不一定名稱一致,一致比較好,可讀性性強

一個表引用n個表的主鍵,那麼就會有n個外鍵

設置外鍵有兩種方式,一個是在建表的時候就直接設置好外鍵,還有一個就是表已經建立好的情況下,通過alter添加外鍵,兩個方法均可以實現。

方式一:在建表的同時建立外鍵

數據庫:使用sql語句建表的時候建立外鍵的兩種方式

數據庫:使用sql語句建表的時候建立外鍵的兩種方式

這樣就將emp表的deptno設置外鍵,其中fk_emp_dept是外鍵的名稱

方式二:先建表,然後再添加外鍵

數據庫:使用sql語句建表的時候建立外鍵的兩種方式

兩種方式均添加了外鍵,上面兩個都添加了外鍵名稱,這個作用是方便刪除外鍵的

數據庫:使用sql語句建表的時候建立外鍵的兩種方式

一旦建立外鍵,要注意,主表中主鍵沒有的,從表不能添加,還有從表中使用的主表不能刪除,要想刪除,要先把從表中使用某個主鍵的刪除,然後再刪除主表中的數據

CREATE TABLE dept(

deptno INT PRIMARY KEY AUTO_INCREMENT,

demame VARCHAR(50)

);

CREATE TABLE emp(

empno INT PRIMARY KEY AUTO_INCREMENT,

ename VARCHAR(50),

deptno INT,

CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno)

);

CREATE TABLE emp(

empno INT PRIMARY KEY AUTO_INCREMENT,

ename VARCHAR(50),

deptno INT

);

ALTER TABLE emp ADD CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno);


分享到:


相關文章: