40.唯一键

唯一键和主键都是数据库中确保数据不重复的约束,但它们有显著区别。主键不能为空且一个表只能有一个,常用于关联其他表;而唯一键可以为空,一个表能有多个,并只在当前表内起作用。唯一键适用于那些可为空或不需要与其他表关联的唯一标识符,如电话号码。添加和删除唯一键可通过SQL语句完成。
摘要由CSDN通过智能技术生成
  • 唯一键是何方神圣?
    所谓的唯一键,也可以使数据不会重复,但是和主键不一样的是 唯一键 不是用来区分数据的,主键大多数是和其他的表或数据库有关联的,比如,在大学时,学生证号作为主键,它存放在各个表中,餐厅消费记录,学校教务处,宿舍信息 …如果想查一个学生的所有信息,只需打开各个表输入学生证号,这样与之匹配的信息全部出现。然而,唯一键和其他的表基本没关联,只在当前这一张表里发光发热。

  • 它和主键有啥子区别?

  • 主键不能为空,但是唯一键可以为空。

  • 一个表里只能有一个主键,但是可以有多个唯一键。

  • 主键可能和其它表有关联,唯一键不会,就在当前的表瞎折腾

  • 它有啥用?
    用处:只有一个那就是保证其对应的数据不能重复,比如,把QQ号作为唯一键,保证了其不会重复,但是作为主键不太合理,毕竟,有的人没有QQ号,拿它去和别人区别并不合适。

  • 如何添加它?

  1. 添加唯一键的方式,举个例
create table person(
id int primary key, 
name varchar(20),
phone varchar(15) unique
);
  1. 输入:decs person;,可以看到 id 不可以为空,但是作为唯一键的 phone 可以
    在这里插入图片描述
  2. 也可以后期添加唯一键,比如把上表中的 name 变成唯一键,输入:alter table person add unique(name);
    在这里插入图片描述
  • 如何干掉它?
    说干就干,对上一张表而言,将唯一键 name 删除,输入:alter table person drop index name;在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头疼小宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值