为了账号安全,请及时绑定邮箱和手机立即绑定

如下通过clustered创建了聚集索引是什么意思?有何用处?

如下通过clustered创建了聚集索引是什么意思?有何用处?

qq_花开花谢_0 2022-04-07 13:10:21
以下语句不懂:CREATE TABLE publishers( pub_id char(4) NOT NULL CONSTRAINT UPKCL_pubindPRIMARY KEY CLUSTEREDCHECK (pub_id IN ( '1389', '0736', '0877', '1622', '1756')ORpub_id LIKE '99[0-9][0-9]‘ ),我刚学,请详细解释,谢谢!这几个参数:CONSTRAINT UPKCL_pubindPRIMARY KEY CLUSTEREDCHECK分别代表什么?通过clustered创建了聚集索引是什么意思?有什么用?
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

定义表约束。
CONSTRAINT 约束定义的开始
UPKCL_pubind 约束名
PRIMARY KEY
是通过唯一索引对给定的一列或多列强制实体完整性的约束。对于每个表只能创建一个 PRIMARY KEY 约束。
CLUSTERED | NONCLUSTERED
是表示为 PRIMARY KEY 或 UNIQUE 约束创建聚集或非聚集索引的关键字。PRIMARY KEY 约束默认为 CLUSTERED,UNIQUE 约束默认为 NONCLUSTERED。
在 CREATE TABLE 语句中只能为一个约束指定 CLUSTERED。如果在为 UNIQUE 约束指定 CLUSTERED 的同时又指定了 PRIMARY KEY 约束,则 PRIMARY KEY 将默认为 NONCLUSTERED。

CHECK 约束
意思:
创建一个名为publishers表字段名为pub_id长度为4的字符型。
表的约束名为 UPKCL_pubind的聚集索引的关键字约束。
约束内容:pub_id字段值是在('1389', '0736', '0877', '1622', '1756')内或'9900'到‘9999’之间的值。

查看完整回答
反对 回复 2022-04-11
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

这个语句是在创建的publishers表上同时创建主键和取值约束,并在主键上创建聚集索引。
CONSTRAINT UPKCL_pubind 是创建名称为UPKCL_pubind的约束,由于其后边还跟着PRIMARY KEY 说明这个约束是一个主键约束,clustered说明是聚集索引。
check后边是对字段pub_id的取值约束,限定所插入的bub_id值必须在给定的值里('1389', '0736', '0877', '1622', '1756')或着取值是以99开头3、4位是数字,如果插入值与上述条件不符,就会无法插入。

查看完整回答
反对 回复 2022-04-11
  • 2 回答
  • 0 关注
  • 299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信