mysql约束之修改和删除
如图为我们要执行操作的表:
删除主键约束:ALTER TABLE table_name DROP PRIMARY KEY;
尝试删除主键失败,原因为含有auto_increment(自增属性),此属性只有在字段为主键时才能生效,所以我们先删除自增属性,然后再删除主键约束,操作成功,如图所示:
添加主键约束:ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_column_name);
添加唯一约束:ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name]
删除唯一约束:ALTER TABLE table_name DROP [INDEX|KEY] index_name;
修改默认约束:ALTER TABLEtb_name ALTER col_name SET DEFAULT default_vaule;
删除默认约束:ALTER TABLE tb_name MODIFY col_name col_defination;
添加非空约束:ALTER TABLE tb_name MODIFY col_name col_defination;
删除外键约束:ALTER TABLE lulu MODIFY col_name col_defination;
添加外键约束:ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FROEIGN KEY [index_name] (index_column_name) reference_definition;
删除外键约束:ALTER TABLE tb_name DROP FOREIGN KEY constraint_name;
删除外键要先使用语句:SHOW CREATE TABLE tb_name;查看外键约束的名称,然后删除此外键约束。
可以看到:非空约束和默认约束的修改都是通过MODIFY语句修改列定义的方式来执行的,所以对列定义的所有修改都可以通过MODIFY语句来实现。
当然,修改列名是不能通过MODIFY语句实现的,可以通过 CHANGE col_old_name col_new_name col_defination 来实现,在此就不再演示了,试试哦。
分享技术,共同进步,构建美好生活。