问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

唯一性约束和唯一性索引的区别

发布网友 发布时间:2022-05-02 21:56

我来回答

3个回答

懂视网 时间:2022-05-03 02:17

2、唯一约束:unique();uk 

unique约束的字段,要求必须是唯一的,但null除外;

3、主键约束:primary key();pk

主键约束=not  null + unique,确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

4、外键约束:foreign  key () references (参考),fk 

保证一个表中的数据匹配另一个表中的值的参照完整性。语法:constraint  fk_dept_id   foreign key  (dept_id)  references  dept(dept_id);

5、自增约束:auto_increment

6、默认约束:default 

给定默认的值

7、检查性约束:check 

保证列中的值符合指定的条件。

示例:

create table member(
 id int(10),
 phone int(15) unsigned zerofill,
 name varchar(30) not null,
 constraint uk_name unique(name),
 constraint pk_id primary key (id),
 constraint fk_dept_id foreign key (dept_id,字段2)
 references dept(主表1)(dept_id)
);

  

//constraint  uk_name   可以省略不写。uk_name  唯一约束名称;

//pk_id     主键约束名称;

//fk_dept_id   外键约束名称

 


二:索引

作用:快速定位特定数据,提高查询效率,确保数据的唯一性,快速定位特定数据;可以加速表和表之间的连接,实现表与表之间的参照完整性,使用分组和排序语句进行数据检索时,可以显著减少分组和排序的时间全文检索字段进行搜索优化;

索引的种类:

1、主键索引(primary   key);

2、唯一索引(unique);

3、常规索引(index);

4、全文索引(full  text);

 

总结:约束是为了保证表数据的完整性,索引是为了提高查询效率,两者作用不一样!其次种类也不一样。

mysql约束与索引的区别

标签:mys   hone   一个   enc   种类   nbsp   搜索   指示   完整性   

热心网友 时间:2022-05-02 23:25

“唯一性约束”和“唯一性索引”是不同的。
一、 建立唯一性约束的语法,使用create table或者alter table
1. 在字段级约束定义
-- 命名
create table tmp_table
(
a int constraint pk_tmp_table_a primary key,
b varchar(10) constraint uq_tmp_table_b unique
)
-- 不命名
create table tmp_table
(
a int primary key,
b varchar(10) unique
)
2. 在表约束定义
-- 命名
create table tmp_table
(
a int,
b varchar(10),
constraint pk_tmp_table_a primary key(a),
constraint uq_tmp_table_b unique(b ASC)
)
-- 不命名
create table tmp_table
(
a int,
b varchar(10),
primary key(a),
unique(b ASC)
)
二、 建立唯一性索引的语法,使用create index
-- 必须命名
CREATE UNIQUE NONCLUSTERED INDEX xak_tmp_table_b ON tmp_table(b DESC)
--不指定[CLUSTERED | NONCLUSTERED],缺省为NONCLUSTERED(非聚集)
三、当在表中创建主键约束或者唯一性键约束时,SQL Server自动创建一个唯一性索引
这是以上脚本建立的约束:

constraint_type constraint_name constraint_keys
PRIMARY KEY (clustered) pk_tmp_table_a a
UNIQUE (non-clustered) uq_tmp_table_b b

这是索引:

index_name index_description index_keys
pk_tmp_table_a clustered, unique, primary key located on PRIMARY a
uq_tmp_table_b nonclustered, unique, unique key located on PRIMARY b
xak_tmp_table_b nonclustered, unique located on PRIMARY b(-)

可以看出,为主键和唯一性约束自动建立了同名唯一性索引。
现在为表建立了排序顺序相反的两个索引uq_tmp_table_b和xak_tmp_table_b,不知道数据库会怎么工作?

四、题外话
表级约束中可以指定列的排序顺序(col_name ASC | DESC),但不能指定列的NULL约束;
字段级约束中可以指定列的NULL约束,但不能指定列的排序顺序;

热心网友 时间:2022-05-03 00:43

       1) 唯一性约束用来*不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
       2) 只要唯一就可以更新. 
       3) 即表中任意两行在  指定列上都不允许有相同的值,允许空(NULL).
       4) 一个表上可以放置多个唯一性约束

 创建唯一索引可以确保任何生成重复键值的尝试都会失败。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人大政协辅助岗是什么 政务辅助人员是干什么 政府辅助人员是什么 努比亚的海拔什么意思 北非努比亚现在怎么样了啊 相邻权的相关法律 梦见老公离世了什么预兆 梦见自己老公走掉 你出轨后 怎么操作才没被发现? 评评怎么造句 苹果手机注册新版本过低 用蓝牙耳机听音乐中手机来电还要打开手机吗? 深圳的股票代码一般由几位数组成? 股票中的代码4位数和6位数有什么不同,麻烦举例说明一下 - 信息提示 pytorch模块如何上传一创聚宽 pytorch自定义多分类损失函数怎么反向传播 捷安特133型电动车 捷安特133型电动车怎么样呀 捷安特电动车133s好吗? 捷安特 133 电动车 红警2分辨率800*480出错。其它分辨率都不出错,但是不能全屏或者画面太小,只有800*480合适,怎么办? 红色警戒2能否支持宽屏 要学生会的一己之见表情包~可以加分~发到:819904073@qq.com 红警2是否支持笔记本分辨率1600×900兼容 这个QQ表情有包包吗 有的话留下地址 道易行高仕133电动车的配置? 我把老师的照片给恶搞了、怎么和老师道歉? 男生冲女生发抱抱的表情 我告诉他我有想他 他发了两个坏笑的表情说然后呢 我说没了 他就发了 县级人大换届选举动员会与人代会召开最长期限间隔多少天 8.974保留一位小数是? 8.47保留一位小数是多少? 2.97保留一位小数是多少 5.849保留一位小数是多少? 13.974保留一位小数是多少? 7.952保留一位小数是多少? 9.0928保留一位小数是多少? 1.836保留一位小数是多少 9.9895保留一位小数是多少 2.976保留一位小数是多少 8.614保留一位小数 5.708保留一位小数是多少? 8.052保留一位小数是多少? 9.690保留一位小数是多少? 16.756保留一位小数是多少? 14.596保留一位小数是多少 如果鱼刺卡到喉咙应该怎么办? 807.94保留一位小数是多少? 6.493保留一位小数是多少?