主鍵自增長 外來鍵約束 級聯更新

2021-10-06 05:06:18 字數 1155 閱讀 1153

1)自動增長(配合int型別的主鍵使用, 自增後的id值取決於上一條)

(1)如果某一列是數值型別的,使用auto_increment可以來完成值的自動增長

(2)建立表時,新增自動增長

create table stu

(3)刪除自動增長

alter table stu modify id int;

(4)新增自動增長

alter table stu modify id int auto_increment;

2)外來鍵約束

不好的地方:

(1)發現資料由冗餘, 不太符合資料庫設計的準則

(2)修改不方便,比如: 想把研發部修改個名字

改進: 設計為2個表(部門表和員工表)

問題:zhangsan lisi wangwu 位於1號部門,

但是,1號部門的**已經刪除了

解決辦法: 因此外來鍵約束的引入

語法:create table 表名

如:create table employee(

id int primary key auto_increment,

dep_id int,

constraient emp_dept_fk foreign key (dep_id) references deparences department(id)

);刪除外來鍵:

alter table employee drop foreign key emp_dept_fk;

新增外來鍵:

alter table employee add constraint emp_dept_fk foreign key(dep_id) references department(id);

3)級聯的操作(慎用,比較危險, 會把相關的記錄都被刪除, 效能也低下)

(1)alter table employee add constraint emp_dept_fk foreign key(dep_id) references department(id)

on update cascade on delete cascade;

筆記:

級聯更新: on update cascade

級聯刪除: on delete cascade

DQL 外來鍵約束,級聯更新

1 create table emp 建立emp表 2 id int primary keyauto increment,3 name varchar 30 4 age int 5 dep name varchar 30 部門名稱 6 dep location varchar 30 部門位址7 8 ...

建表 注釋 主鍵 外來鍵 自增長鍵

create table create table tbl bos ap apid varchar2 32 not null,apimsi varchar2 32 not null,apusim varchar2 32 not null,customerid varchar2 32 not null...

外來鍵約束 外來鍵級聯操作

建立db2資料庫 create database db2 使用db2資料庫 use db2 外來鍵約束 標準語法 constraint 外鍵名 foreign key 本表外來鍵列名 references 主表名 主表主鍵列名 建表時新增外來鍵約束 建立user使用者表 create table u...