您的位置:首页 > 数据库 > MySQL

数据库MYSQL学习总结12—主键和唯一索引的操作

2019-04-16 01:04 549 查看
版权声明:. https://blog.csdn.net/WildestDeram/article/details/89322735

主键和唯一索引的操作

添加主键元素

[code]ALTER TABLE tbl_name
ADD PRIMARY KEY (字段名称);
[code]CREATE TABLE user5(
id INT UNSIGNED,
username VARCHAR(20) NOT NULL
);

 

此时可以看到id的主键是空,接下来就为id添加主键

[code]ALTER TABLE user5
ADD PRIMARY KEY(id);

删除主键元素(无须写字段,因为一个表中只有一个KEY)

[code]ALTER TABLE tbl_name
DROP PRIMARY KEY;

接下来进行删除主键

[code]ALTER TABLE user5
DROP PRIMARY KEY;

 

 有一种特殊的情况需要注意:

[code]CREATE TABLE user6(
id INT UNSIGNED AUTO_INCREMENT KEY,
name VARCHAR(20) NOT NULL
);

[code]ALTER TABLE user6
DROP PRIMARY KEY;

 

此时会发生报错,原因是id内有AUTO_INCREMENT这个属性,无法直接删除PRIMARY KEY属性。

将id的AUTO_INCREMENT属性删除

[code]ALTER TABLE user6
MODIFY id INT UNSIGNED;

 

 

[code]ALTER TABLE user6
DROP PRIMARY KEY;

这样就达到了删除主键的效果。 

--------------------------------------------------------------------------

添加唯一和删除唯一

[code]ALTER TABLE tbl_name
ADD UNIQUE KEY|INDEX index_name (字段名称);
[code]ALTER TABLE tbl_name
DROP index_name;

测试添加和删除唯一

[code]CREATE TABLE user7(
id INT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password CHAR(32) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE
);

删除唯一索引 username和eamil的索引

[code]ALTER TABLE user7
DROP INDEX username;

 

 

[code]ALTER TABLE user7
DROP INDEX email;

添加唯一索引(带编号)

[code]ALTER TABLE user7
ADD UNIQUE KEY(username);

 

[code]ALTER TABLE user7
ADD UNIQUE INDEX un_email(email);

 

 

 可以通过un_email 来删除UNIQUE

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐