修改数据表——添加约束(二十二)
?
?
比如,原來數據表根本就沒有約束,或者說,約束不夠。那么如何來添加約束呢?
?
?
添加約束
1、添加主鍵約束(只能一個)
2、添加唯一約束(可以多個)
3、添加外鍵約束()
? 4、添加默認約束()
?
?
?
?
?
?
現在,先創建
?
create table user2( username varchaer(10) not null , pid smallint unsigned );show columns from user2;?
?
?
?
?
?
alter table user2 add id smallint unsigned ;show columns from user2;
?
?
?
?
?
?
?
?
?
一、添加主鍵約束的語法結構
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name)
CONSTRAINT是可以添加,也可以不添加。如果添加的話,表示為約束起名字的意思。
?
?
比如我們為user2表中的id字段添加一個主鍵約束
alter table user2 add constraint pk_user2_id primary key(id);show columns from user2;
?
?
?
?
?
?
?
二、添加唯一約束的語法結構
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY] [index_name] [index_type]
(index_col_name,…)
?
比如我們為user2表中的username字段添加唯一約束
alter table user2 add unique(username);show columns from user2;?
?
?
?
?
?
?
?
三、添加外鍵約束的語法結構
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,…)
reference_definition
比如我們為user2表中的pid字段添加外鍵約束
alter table user2 add foregin key(pid) references provinces(id);show columns from user2;
?
?
?
?
?
?
?
?
?
四、添加/刪除默認約束的語法結構
ALTER TABLE tbl_name ALTER [COLUMN] col_name
{SET DEFAULT literal | DROP DEFAULT}
?
比如我們為user2表中的age字段添加默認值為15
alter table user2 alter age set default 15;
show columns from user2;
?
?
?
?
?
當然我們也可以刪除我們剛才設置的默認約束
alter table user2 alter age drop default;show columns from user2;
?
轉載于:https://www.cnblogs.com/zlslch/p/6540037.html
總結
以上是生活随笔為你收集整理的修改数据表——添加约束(二十二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mycat 编辑schema.xml
- 下一篇: 电子测量与仪器第二次作业