MySQL基础教程22-Mysql列属性-唯一键

       一张表往往有很多字段需要具有唯一性,数据不能重复,但是一张表中只能有一个主键。唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题。唯一键的本质与主键差不多,唯一键默认的允许自动为空,而且可以多个为空(因为字段为空不参与唯一性比较)。


增加唯一键


基本与主键差不多,也有三种方法。

方案1:在创建表的时候,字段之后直接跟unique关键字


看到Key列下显示UNI就表示unique,代表唯一性生效了。


方案2:在所有的字段之后增加unique key(字段列表); -- 支持复合唯一键


       上面显示PRI,其实不是主键,原因是:这里number刚好是一个不为空的唯一键(主键性质一样),真实原因是该表没有主键,系统自动给添加上去的。具体你可以使用下面show create table命令查看。



方案3:在创建表之后增加唯一键


上面先是创建一个没有唯一键的表,然后通过追加的方式给number添加唯一键属性。


唯一键约束


唯一键和主键本质相同,唯一区别是唯一键允许为空,而且多个字段允许为空。


举例,插入数据。


查看表数据


上面表示如果列属性有unique修饰,那么是允许为空,但是不能重复,下面来验证唯一性冲突检查。



删除唯一键


举例删除唯一键

语法格式:alter table 表名drop index 索引名称;

上面语法提到index,这个索引指的是什么呢,请看下图。


执行删除唯一键操作


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值