mysql约束之修改和删除

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

mysql约束之修改和删除_第1张图片

删除主键约束ALTER TABLE table_name DROP PRIMARY KEY;

尝试删除主键失败,原因为含有auto_increment(自增属性),此属性只有在字段为主键时才能生效,所以我们先删除自增属性,然后再删除主键约束,操作成功,如图所示:

mysql约束之修改和删除_第2张图片

添加主键约束: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;

mysql约束之修改和删除_第3张图片

添加非空约束:ALTER TABLE tb_name MODIFY col_name col_defination;

mysql约束之修改和删除_第4张图片

删除外键约束:ALTER TABLE lulu MODIFY col_name col_defination;

mysql约束之修改和删除_第5张图片

添加外键约束: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;

mysql约束之修改和删除_第6张图片

删除外键要先使用语句:SHOW CREATE TABLE tb_name;查看外键约束的名称,然后删除此外键约束。

可以看到:非空约束和默认约束的修改都是通过MODIFY语句修改列定义的方式来执行的,所以对列定义的所有修改都可以通过MODIFY语句来实现。

当然,修改列名是不能通过MODIFY语句实现的,可以通过 CHANGE col_old_name col_new_name col_defination 来实现,在此就不再演示了,试试哦。


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

你可能感兴趣的:(mysql)