mysql约束之修改和删除

来源:互联网 发布:摇色子软件 编辑:程序博客网 时间:2024/06/07 02:25

如图为我们要执行操作的表:

删除主键约束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]

[index_type] (index_column_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 来实现,在此就不再演示了,试试哦。


分享技术,共同进步,构建美好生活。

阅读全文
1 0