mysql (六)
约束:
非空约束:
创建表时添加:
create table stu(
id int ,
name varchar(20) not null
)
创建完表之后
alter table stu modify name varchar(20) not null
删除约束:
alter table stu modify name varchar(20)
唯一约束:
创建表时添加:
create table stu(
id int ,
name varchar(20)unique
) #给name字段添加唯一约束
创建表后添加:
alter table stu modify name varchar(20) unique
删除唯一约束:
alter table stu drop index name
主键约束:
创建表时添加:
create table stu(
id int primary key ,
name varchar(20)
)
创建表后添加:
alter table stu modify id int primary key
删除主键:
alter table stu drop primary key
自动增长:
创建表时,给主键添加自动增长
create table stu(
id int primary key auto_increment,
name varchar(20)
)
创建表之后添加:
alter table stu modify id int auto_increment
删除自动增长:
alter table stu modify id int
外键约束:
创建表时添加外键约束:
create table 表名(
....
constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)
示例:
create table stu(
id int ,
class_id int,
constraint stu_class_fk foreign key (class_id) references class(id)
)
创建完表之后添加:
alter table stu add constraint stu_class_fk
foreign key (class_id) references class(id)
删除外键:
alter table 表名 drop foreign key 外键名称
级联删除,更新:
alter table stu add constraint stu_class_fk
foreign key (class_id) references class(id)
on update cascade ondelete cascade