2設定主鍵和外來鍵

2021-10-24 18:24:02 字數 1168 閱讀 9412

表已經建立成功的情況,如何設定主鍵和外來鍵:

alter table 表名 add primary key(欄位名);

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

刪除主鍵和外來鍵

alter table 表名 drop primary key;

alter table 從表名 drop foreign key fk_xx_xx;

案例:

-- 外來鍵約束 foreign key 

-- 要求:最少2張表,存在 1:n的關聯

-- 1 的一方 主表  n的一方  從表

-- 外來鍵在從表上

-- 例如: 主表(部門表1) 從表(員工n)

-- 部門表

create table tb_dept(

deptno int primary key auto_increment, -- 部門編號

dname varchar(20) unique not null

);

-- 員工表

create table tb_emp(

empno int primary key auto_increment, -- 編號

ename varchar(20) not null,  --  姓名

e*** set('男','女') default '男', -- 性別

esalary decimal(12,2),  -- 工資

dno int, -- 所屬部門

constraint

fk_dept_emp

foreign key(

dno) references

tb_dept(deptno)

);

-- 新增外來鍵約束,dno這列值必須在另一張tb_dept**現過

-- constraint 外來鍵名稱 foreign key(外來鍵字段) references 主表(主鍵字段|唯一鍵欄位)

--  約束                  外來鍵                 關鍵

主鍵和外來鍵

主鍵和外來鍵是把多個表組織為乙個有效的關聯式資料庫的粘合劑。主鍵和外來鍵的設計對物理資料庫的效能和可用性都有著決定性的影響。必須將資料庫模式從理論上的邏輯設計轉換為實際的物理設計。而主鍵和外來鍵的結構是這個設計過程的癥結所在。一旦將所設計的資料庫用於了生產環境,就很難對這些鍵進行修改,所以在開發階段...

主鍵和外來鍵

主鍵的存在就代表著表結構的完整性,表的記錄必須得有唯一區分的字段,主鍵主要是用於其他表的外來鍵關聯,本記錄的修改與刪除,當我們沒有主鍵時,這些操作會變的非常麻煩。我強調主鍵不應該具有實際的意義,這可能對於一些朋友來說不太認同,比如訂單表吧,會有 訂單編號 字段,而這個欄位呢在業務實際中本身就是應該具...

主鍵和外來鍵

關係型資料庫中的某乙個屬性組能唯一標識一條記錄,該屬性組就可以成為乙個主鍵 主鍵只能有乙個,不能有重複的,不允許為空,用來保證資料完整性 外來鍵用於與另一張表的關聯。是能確定另一張表記錄的字段,用於保持資料的一致性。表的外來鍵是另一表的主鍵,外來鍵可以有重複的,可以是空值。用來和其他表建立聯絡用的 ...