alter table <表名 > add constraint <主鍵名>用法介紹
1.主鍵約束:
要對一個列加主鍵約束的話,這列就必須要滿足的條件就是分空
因為主鍵約束:就是對一個列進行了約束,約束為(非空、不重復)
以下是代碼 要對一個列加主鍵,列名為id,表名為emp
格式為:
alter table 表格名稱 add constraint 約束名稱 增加的約束類型 (列名)
alter table 表格名稱 add constraint 約束名稱 增加的約束類型 (列名)
例子:
alter table emp add constraint ppp primary key (id)
alter table emp add constraint ppp primary key (id)
————————————————————————————————
2.check約束:
就是給一列的數據進行了限制
比方說,年齡列的數據都要大於20的
表名(emp) 列名(age)
就是給一列的數據進行了限制
比方說,年齡列的數據都要大於20的
表名(emp) 列名(age)
格式:
alter table 表名稱 add constraint 約束名稱 增加的約束類型 (列名)
alter table 表名稱 add constraint 約束名稱 增加的約束類型 (列名)
例子:
alter table emp add constraint xxx check(age>20)
alter table emp add constraint xxx check(age>20)
______________________________________________________________________
3.unique約束:
這樣的約束就是給列的數據追加的不重復的約束類型
這樣的約束就是給列的數據追加的不重復的約束類型
格式:
alter table 表名 add constraint 約束名稱 約束類型(列名)
比方說可以給ename列加個unique,讓ename列的數據不重復
例子:
alter table emp add constraint qwe unique(ename)
alter table 表名 add constraint 約束名稱 約束類型(列名)
比方說可以給ename列加個unique,讓ename列的數據不重復
例子:
alter table emp add constraint qwe unique(ename)
————————————————————————————————
4.默認約束:
意思很簡單就是讓此列的數據默認為一定的數據
意思很簡單就是讓此列的數據默認為一定的數據
格式:
alter table 表名稱 add constraint 約束名稱 約束類型 默認值) for 列名
alter table 表名稱 add constraint 約束名稱 約束類型 默認值) for 列名
比方說:emp表中的gongzi列默認為10000
alter table emp add constraint jfsd default 10000 for gongzi
————————————————————————————————
5.外鍵約束:
這個有點難理解了,外鍵其實就是引用
因為主鍵實現了實體的完整性,
外鍵實現了引用的完整性,
應用完整性規定,所引用的數據必須存在!
這個有點難理解了,外鍵其實就是引用
因為主鍵實現了實體的完整性,
外鍵實現了引用的完整性,
應用完整性規定,所引用的數據必須存在!
其實就是個引用,
比方說一個表名稱叫dept 里面有2列數據 一列是ID一列是ENAME
id:表示產品的編號
ename:表示產品的名稱
比方說一個表名稱叫dept 里面有2列數據 一列是ID一列是ENAME
id:表示產品的編號
ename:表示產品的名稱
另外一個表格名稱是emp 里面有2列數據,一列是ID 一列是DID
id:表示用戶號
did:表示購買的產品號
id:表示用戶號
did:表示購買的產品號
要讓emp表中的did列去引用dept表中的id
可以用下面的方法
格式:
alter table 表名 add constraint 約束名稱 約束類型 (列名) references 被引用的表名稱(列名)
alter table 表名 add constraint 約束名稱 約束類型 (列名) references 被引用的表名稱(列名)
例子:
alter table emp add constraint jfkdsj foreign key (did) references dept (id)