02-09-列属性(唯一键)

唯一键

唯一键:unique key,用来保证对应的字段中数据唯一的。

主键也可以用来保证字段数据唯一性,但是一张表只有一个主键

  1. 唯一键在一张表中可以有多个
  2. 唯一键允许字段数据为NULLNULL可以有多个(NULL不参与比较)

创建唯一键

创建唯一键与创建主键非常类似。

  1. 直接在表字段后面增加唯一键标识符:unique [key]

    create table my_unique1(
    id int primary key auto_increment,
    username varchar(10) unique
    )charset=utf8;
    
  2. 在所有的字段之后使用unique key (字段列表)

    create table my_unique2(
    id int primary key auto_increment,
    username varchar(10),
    unique key (username)
    )charset=utf8;
    
  3. 在创建完之后也可以增加唯一键

    alter table 表名 add unique key(字段列表)

    create table my_unique3(
    id int primary key auto_increment,
    username varchar(10)
    )charset=utf8;
    alter table my_unique3 add unique key(username);
    

查看唯一键

唯一键是属性,可以通过查看表结构来查看唯一键

在这里插入图片描述

唯一键效果:在不为空的情况下,不允许重复

insert into my_unique1 values(null,default);
insert into my_unique1 values(null,default);
insert into my_unique1 values(null,default);

insert into my_unique1 values(null,'Tom');
insert into my_unique1 values(null,'Tom');

在这里插入图片描述

在查看表创建语句的时候,会看到与主键不同的一点:多出一个名字
在这里插入图片描述

删除唯一键

基本语法:alter table 表名 drop index 唯一键名字;

index关键字:索引,唯一键是索引一种(提升查询效率)

在这里插入图片描述

复合唯一键

唯一键与主键一样可以使用多个字段来共同保证唯一性。

一般主键都是单一字段(逻辑主键),而其他需要唯一性的内容都是由唯一键来处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值