mysql表中添加约束的方式总结
第一种:在创建表的时候:
create table student( sno char(9) primary key, sname varchar(20) unique, ssex char(2) not null, sage smallint default 19, sdept varchar(20) ); create table course( cno varchar(4) primary key, cname varchar(40) not null, cpno varchar(4), ccredit smallint, foreign key (cpno) references course(cno) ); create table sc( sno char(9), cno varchar(4), grade decimal(4,2), foreign key(sno) references student(sno), foreign key(cno) references course(cno) );
其中有一些限定词如:decimal(4,2)的意思的存储的数字为四位(小数点后两位),unique表示唯一(即该属性中的值只能出现一次),default 19:默认值为19;其中foreign key (外键列) references 主键表(主键列);
第二种:在创建完表后发现外码没有设置或者进行删除可以采用以下方法:
1.主键约束 添加:alter table table_name add primary key (字段) 删除:alter table table_name drop primary key 2.非空约束 添加:alter table table_name modify 列名 数据类型 not null 删除:alter table table_name modify 列名 数据类型 null 3.唯一约束 添加:alter table table_name add unique 约束名(字段) 删除:alter table table_name drop key 约束名 4.自动增长 添加:alter table table_name modify 列名 int auto_increment 删除:alter table table_name modify 列名 int 5.外键约束 添加:alter table table_name add constraint 约束名 foreign key(外键列) references 主键表(主键列) 删除: 第一步:删除外键 alter table table_name drop foreign key 约束名 第二步:删除索引 alter table table_name drop index 索引名 [^1]: 约束名和索引名一样 6.默认值 添加:alter table table_name alter 列名 set default 值 删除:alter table table_name alter 列名 drop default
下一篇:
MySQl的增删查改的几种语法格式