目录
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,...);
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;
2.2 删除唯一约束
语法结构:ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;
(1)首先查看唯一约束的名字:
SHOW INDEXES FROM users2;
ALTER TABLE users2 DROP INDEX 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;