当前位置:   article > 正文

唯一键约束--查看索引_postgresql 查看表的unique_key

postgresql 查看表的unique_key

唯一键约束

(一)概述
1、关键字:unique key
2、特点:指定了唯一键的列的值必须唯一,不能重复
3、作用:给主键以外的列,限定唯一性
4、唯一键分类
单列的唯一
复合唯一

唯一键和主键的区别:

(1)主键不能为空,唯一键可以为空
(2)主键约束,一个表只能有一个,而唯一键可以有很多个

(二)使用唯一键
1、如何创建/指定唯一键
(1)在建表时
create table 【数据库名.】表名称(
字段1 数据类型 primary key,
字段2 数据类型 【unique key】,
字段3 数据类型 【unique key】,

);

create table 【数据库名.】表名称(
字段1 数据类型 primary key,
字段2 数据类型 ,
字段3 数据类型 ,
…,
unique key(字段2), #分别唯一
unique key(字段3)
);

create table 【数据库名.】表名称(
字段1 数据类型 primary key,
字段2 数据类型 ,
字段3 数据类型 ,
…,
unique key(字段列表) #复合唯一
);

create table emp(
eid int primary key, #员工编号
ename varchar(20), #姓名
cardid varchar(18) unique key, #身份证号
tel varchar(11) unique key
);

insert into emp values(1,‘张三’,‘123456789123456789’,‘12345678912’);
insert into emp values(2,‘李四’,‘123456789123456788’,‘12345678912’);

mysql> insert into emp values(2,‘李四’,‘123456789123456788’,‘12345678912’);
ERROR 1062 (23000): Duplicate entry ‘12345678912’ for key ‘tel’

(2)在建表后
修改表结构:
alter table 【数据库名.】表名称 add unique key(字段名);
alter table 【数据库名.】表名称 add unique key(字段列表); #复合唯一

2、删除唯一键
修改表结构:
alter table 【数据库名.】表名称 drop index 索引名;

如果不知道索引名,可以通过如下的语句查询: show index from 表名称;

alter table emp drop unique key; #错误的
alter table emp drop unique key(cardid); #错误的
alter table emp drop index cardid;在这里插入图片描述
在这里插入图片描述

索引:index
作用:为了提高查询效率,而设置索引
我们的键约束(主键、唯一键、外键),都会自动创建索引。
因为既然你建立键约束,那么该列的值一定很关键,那么在实际中肯定经常用他们的值来查询。
因此,为了提高查询效率,会自动在这些列上增加索引。在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/391220
推荐阅读
相关标签
  

闽ICP备14008679号