1.列级约束在定义列语句中,例
sno int primary key auto_increment , --(学生表学号,int型,约束:主键(非空且唯一)+自增)
sex char(1) default '男' check(sex='男' or sex='女'), --(性别默认为男,性别只能为男或女)
score double(3,1) not null, --(得分为浮点数,总共三位,小数点后一位,不能为空)
2.表级约束与定义列语句同级,用逗号与列定义语句分隔开,要用constraint,且表级别约束可以同时约束多个列,但不能像列级约束一样约束默认值和非空,例
create table student(
某列级约束1,
某列级约束2,
constraint pk_stu_sno primary key(sno) , --(constraint 约束名(自己定义的)约束(列名))
constraint ck_stu_sex check(sex='男' or sex=‘女’) ,
constraint uk_stu_email unique(email)
)
3.表建立完成后的约束
手动添加约束
alter table student add constraint pk_stu_son primary key(sno);
删除唯一约束(主键):
在这之前要先删除自增约束,否则报错:alter table student modify sno int (删除自增相当于改变定义语句,使其没有自增)
alter table stuednt drop primary key
手动设置自动增加
alter table student modify sno int auto_increment; --modify:修改,调整
删除唯一约束
alter table student drop index uk_stu_email
标签:列级,标记,sno,constraint,sex,student,table,约束 From: https://www.cnblogs.com/xlm926/p/17443328.html