(3-4)MySQL 添加/删除约束

目录

1 添加约束

1.1 添加主键约束

1.2 添加唯一约束

1.3 添加外键约束

1.4 添加/删除默认约束

2 删除约束 

2.1删除主键约束

2.2 删除唯一约束

 2.3 删除外键约束

3 参考


1 添加约束

语法结构:ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)

1.1 添加主键约束

 ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY(id);

添加主键约束前
添加主键约束后

1.2 添加唯一约束

语法结构:ALTER TABLE tbl_name ADD [CONSTRAINT] [symbol] UNIQUE [INDEX | index_type](index_col_name,...);

添加UNIQUE主键约束前
添加UNIQUE主键约束后

1.3 添加外键约束

语法结构:ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition;

添加外键约束

通过SHOW CREATE TABLE users2;

查看是否添加了外键约束

1.4 添加/删除默认约束

语法结构:ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT }

(1)添加默认约束

首先添加一个字段

ALTER TABLE users2 ADD age TINYINT UNSIGNED NOT NULL;

设置默认值

ALTER TABLE users2 ALTER age SET DEFAULT 15;

设置默认约束前
设置默认约束后

 (2)删除默认约束

ALTER TABLE users2 ALTER age DROP DEFAULT;

删除默认约束

2 删除约束 

2.1删除主键约束

语法结构:ALTER TABLE tbl_name DROP PRIMARY KEY

示例中id是主键,我们要删除主键:ALERT TABLE users2 DROP PRIMARY KEY;

删除主键约束后的users2

2.2 删除唯一约束

 语法结构:ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;

(1)首先查看唯一约束的名字:

SHOW INDEXES FROM users2;

ALTER TABLE users2 DROP INDEX username;

删除username的约束

 删除之后,约束只剩一个:

 2.3 删除外键约束

语法结构:ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

例:删除users2 上的外键约束

(1)首先查看外键约束的名称

SHOW CREATE TABLE users2;

查找约束名称

(2)删除操作

ALTER TABLE users2 DROP FOREIGN KEY users2_ibfk_1;

以上操作删除了外键约束,但是还是存在索引,若要继续删除索引:

ALTER TABLE users2 DROP INDEX pid;

3 参考

慕课网——添加/删除约束

猜你喜欢

转载自blog.csdn.net/qq_29406323/article/details/86568875
3-4