首页 > 技术文章 > MySQL表级约束和列级约束

wangshuyi 2017-02-26 14:45 原文

对一个数据列建立的约束,称为列级约束

对多个数据列建立的约束,称为表级约束

列级约束即可以在列定义时生命,也可以在列定义后声明。

表级约束只能在列定义后声明。

NOT NULL和DEFAULT只存在列级约束。

PRIMARY KEY、UNIQUE、FOREIGN KEY同时存在表级约束和列级约束。

 

添加主键约束

alter table tb_name modify col_name type primary key;

alter table tb_name add primary key (ID);

删除主键约束

alter table tb_name drop primary key ();

 

 

添加唯一约束

alter table tb_name add unique (col_name);

删除唯一约束

alter table tb_name drop index col_name;

 

 

添加外键约束

alter table tb_name1 add foreign key (col_name1) references tb_name2 (col_name2);

查看外键

show create table name\G;

删除外键约束

alter table tb_name drop foreign key fk_symbol;

注意系统赋予的外键命名fk_symbol

 

 

设置默认约束

alter table tb_name alter col_name set default value;

删除默认约束

alter table tb_name alter column_name drop default;

 

推荐阅读