sql语句中创建table的问题~

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:15:05
以下语句不懂:
CREATE TABLE publishers
( pub_id char(4) NOT NULL CONSTRAINT UPKCL_pubind
PRIMARY KEY CLUSTERED
CHECK (pub_id IN ( '1389', '0736', '0877', '1622', '1756')
OR
pub_id LIKE '99[0-9][0-9]‘ ),
我刚学,请详细解释,谢谢!
这几个参数:CONSTRAINT UPKCL_pubind
PRIMARY KEY CLUSTERED
CHECK
分别代表什么?
通过clustered创建了聚集索引是什么意思?
有什么用?

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