MySQL修改表时添加或删除约束
即修改表字段的数据类型或约束
外键删除约束: ALTER TABLE 表名 DROP CONSTRAINT 约束名称
1) 非空约束
alter table students modify column s_name varchar(20) not null; # 添加
alter table students modify column s_name varchar(20) ; # 删除 不写约束条件
2)默认约束
alter table students modify column age int default 18; #添加
alter table students modify column age; #删除
3)唯一键约束
alter table students modify column seat int unique; #添加
alter table students drop index seat; #删除
show index from students; #查看唯一约束
4)主键约束
alter table students modify column id int primary key; #添加
alter table students drop primary key; #删除 约束名称
5)外键约束
alter table students add foreign key(major_id) references majors(id); #添加
alter table students drop foreign key fk_students_teacher; #删除 约束名称
自增长列 auto_increment
id int primary key auto_increment,
一个表中有且只能有一个自增长列,自增长列一般和主键搭配
修改表的时候添加自增长列:
alter table t_indentity modify column id int primary key auto_increment;
删除自增长列:
alter table t_indentity modify column id int;
索引:
索引优缺点:
优点:通过创建唯一索引,保证数据唯一性;加快数据的检索速度
缺点:当对数据进行增,删,改,索引要动态维护,减慢写的速度;索引要占用物理空间