sql,primary key的使用

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:39:30
请问primary key的使用,有个 成绩 表,想把 学号、成绩 两个列定义为primary key约束,书上的语句是 :
constraint pk_sno_cno primary key clustered (学号,成绩)
请问 : constraint 的作用,pk_sno_cno的作用。谢谢

CONSTRAINT

是可选关键字,表示 PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK 约束定义的开始。约束是特殊属性,用于强制数据完整性并可以为表及其列创建索引。

你可以理解为,这里表示定义了一个约束,CONSTRAINT后面就是对约束的定义。

pk_sno_cno

约束名。约束必须有一个唯一的名字。 有些建约束的语法,没有显式指定名字,但是系统会自动生成一个约束名, 名称是唯一的,以后需要以这些名称来定位到对象,以进行管理。

比如 create table(id int,d datetime not null default getdate())
d列,不允许空,定义了一个默认约束,插入记录时,如果不对d写入值,将取当前时间。 这里没有指定CONSTRAINT关健字(因为它可选的,很多情况下不同的写法却又是必要的),也没有指定约束名,但系统自动生成了。 你可以在建完表后,生成脚本来看看(生成脚本时注意钩选选面,约束和默认值脚本等)

primary key
就是定义主键。而这里的主健是个组合主键,即 学号,成绩 这两列为主键。

constraint是约束的意思,也是对数据插入的限制
pk_sno_cno是你给这个约束起的名字,这个可级随便你怎么起都可以