Mysql-基本练习(07-修改表-添加主键、唯一、外键约束、添加/删除默认约束、删除约束)

1.添加主键约束

语法:ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,……)

添加主键约束前表结构

为表tb1id字段添加主键约束,约束名为pk_tb1_id

ALTER TABLE tb1 ADD CONSTRAINT pk_tb1_id PRIMARY KEY(id);

添加主键约束后的表结构

2.添加唯一约束

语法:ALTER TABLE tb_name ADD

[CONSTRAINT [symbol]] UNIQUE [index | KEY] [index_name] [index_type] (index_col_name,……)

为表tb1name字段添加唯一约束

ALTER TABLE tb1 ADD UNIQUE (name);

添加唯一约束后的表结构

3.添加外键约束

语法:ALTER TABLE tb_name ADD

[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,……) reference_definition

先为表tb1添加列tb2_id,在为表tb1tb2_id 字段添加外键约束,引用表tb2的主键id

 ALTER TABLE tb1 ADD FOREIGN KEY (tb2_id) REFERENCES tb2 (id);

添加外键约束后的建表细节


4.添加/删除默认约束

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

为表tb1name字段添加默认约束,值为“笑笑

 ALTER TABLE tb1 ALTER name SET DEFAULT "笑笑";

添加默认约束后的表结构

删除默认约束

ALTER TABLE tb1 ALTER name DROP DEFAULT;

删除默认约束后的表结构

5.删除约束

1)删除主键约束

语法:ALTER TABLE tb_name DROP PRIMARY KEY

删除表tb1的主键约束

ALTER TABLE tb1 DROP PRIMARY KEY;

2)删除唯一约束

语法:ALTER TABLE tb_name DROP {INDEX | KEY} index_name

根据语法可知,我们先得查看唯一约束的索引

语法:SHOW INDEXES FROM tb_name\G   (\G表示以网格的形式显示信息)

 SHOW INDEXES FROM tb1\G;

 

由结果得知,唯一约束的索引名称为name

删除表tb1的唯一约束

ALTER TABLE tb1 DROP INDEX name;

3)删除外键约束

语法:ALTER TABLE tb_name DROP FOREIGN KEY fk_symbol

我们先得查看外键约束的名称

SHOW CREATE TABLE tb1;

根据结果可知,外键约束名称为:tb1_ibfk_1

删除表tb1的外键约束

ALTER TABLE tb1 DROP FOREIGN KEY tb1_ibfk_1;

删除外键约束的索引,索引名由上图可知为:tb2_id

ALTER TABLE tb1 DROP INDEX tb2_id;

删除所有约束、索引之后的表结构为





猜你喜欢

转载自blog.csdn.net/u012430402/article/details/80337486