- SQL Server 2017从零开始学(视频教学版)
- 李小威
- 791字
- 2021-03-26 09:45:17
7.2.1 在创建表时添加主键约束
在创建表时,很容易为数据表添加主键约束,但是主键约束在每张数据表中只有一个。创建表时添加主键约束的语法格式有两种。下面进行介绍:
1.添加列级主键约束
列级主键约束就是在数据列的后面直接使用关键字PRIMARY KEY来添加主键约束,并不指明主键约束的名字,这时的主键约束名字由数据库系统自动生成,具体的语法格式如下:
CREATE TABLE table_name ( COLUMN_NAME1 DATATYPE PRIMARY KEY, COLUMN_NAME2 DATATYPE, COLUMN_NAME3 DATATYPE …… );
【例7.1】在test数据库中定义数据表persons,为id添加主键约束。打开【查询编辑器】窗口,在其中输入T-SQL语句:
CREATE TABLE persons ( id INT PRIMARY KEY, name VARCHAR(25) NOT NULL, deptId CHAR(20) NOT NULL, salary FLOAT NOT NULL );
单击【执行】按钮,即可完成创建数据表并添加主键约束的操作,并在【消息】窗格中显示命令已成功完成的信息提示,如图7-1所示。
图7-1 执行T-SQL语句
执行完成之后,选择新创建的数据表,然后打开该数据表的设计图,即可看到该数据表的结构,其中前面带钥匙标志的列被定义为主键约束,如图7-2所示。
图7-2 表设计界面
2.添加表级主键约束
表级主键约束也是在创建表时添加,但是需要指定主键约束的名字。另外,设置表级主键约束可以设置联合主键,具体的语法格式如下:
CREATE TABLE table_name ( COLUMN_NAME1 DATATYPE, COLUMN_NAME2 DATATYPE, COLUMN_NAME3 DATATYPE …… [CONSTRAINT constraint_name] PRIMARY KEY(column_name1, column_name2,…) );
主要参数介绍如下:
• constraint_name:为主键约束的名字,可以省略。省略后,由数据库系统自动生成。
• COLUMN_NAME1:数据表的列名。
【例7.2】在test数据库中定义数据表persons1,为id添加主键约束。打开【查询编辑器】窗口,在其中输入T-SQL语句:
CREATE TABLE persons1 ( id INT NOT NULL, name VARCHAR(25) NOT NULL, deptId CHAR(20) NOT NULL, salary FLOAT NOT NULL CONSTRAINT 人员编号 PRIMARY KEY(id) );
单击【执行】按钮,即可完成创建数据表操作,并在【消息】窗格中显示命令已成功完成的信息提示,如图7-3所示。
图7-3 执行T-SQL语句
执行完成之后,选择新创建的数据表,然后打开该数据表的设计图,即可看到该数据表的结构,其中前面带钥匙标志的列被定义为主键,如图7-4所示。
图7-4 为id列添加主键约束
上述两个实例执行后的结果是一样的,都会在id字段上设置主键约束,第二条CREATE语句同时还设置了约束的名称为“人员编号”。