主键约束Primary Key也就是行完整性,也叫实体完整性。主键约束使用数据表中的一列数据或者多列数据来唯一的标识一行数据,也就说每一行都是唯一的。

注意点:一张表只能有一个主键,且主键不能为空,或者重复,可以有复合主键(也就是多列组合后唯一的标识一行)

如下图,学生表中数据打钩的出现了冗余,这样的数据没有任何意义,并且占用了空间和减慢了查询速度,目前该表中也没有创建主键

SQL2005学习(三十一),主键约束Primary Key_target

 

下面我来给这个学生表创建主键,创建主键约束的方法有三种,这里因为表已经创建完成了,我们只能采用如下方法,语句输入进行分析成功

SQL2005学习(三十一),主键约束Primary Key_数据表_02

 

但是在执行的时候,发现报错了,因为目前表中已经存在了重复的行,所以无法创建主键约束

SQL2005学习(三十一),主键约束Primary Key_color_03

 

为了成功创建主键我们可以把重复的行删除

SQL2005学习(三十一),主键约束Primary Key_空间_04

 

删除后就只剩下2行了

SQL2005学习(三十一),主键约束Primary Key_target_05

 

我们再次创建主键

SQL2005学习(三十一),主键约束Primary Key_数据表_06

 

创建完成后视图如下

SQL2005学习(三十一),主键约束Primary Key_空间_07

 

当一个学生表创建完成主键后我们再次插入2行张三数据,就报错了,如下图,我们只能插入一行,因为另外一行违反了 Primary Key约束 PK_Studentid

SQL2005学习(三十一),主键约束Primary Key_target_08