1、主键约束
创建表时设置约束的方式有两种:一种是在列级设置,另一种是在表级设置。
列级约束一般直接设置在该列的定义后面即可,表级约束通常设置在所有列定义之后。
在创建表时设置主键约束
①在列级设置主键约束:
CREATE TABLE table_name
(
column_name datatype [[CONSTRAINT constraint_name]primark key]
[,…n]
)
其中:
table_name:表名。
column_name:列名。
[CONSTRAINT constraint_name]:可以省略,constraint_name是自定义的约束名字。
PRIMARY KEY:设置主键约束的关键字。
例:在创建图书信息表(books)时,以列级约束的方式创建主键约束代码语句如下:
USE dbtest1
GO
CREATE TABLE books
(
id int CONSTRAINT pk_books_id PRIMARY KEY,
name nvarchar(20),
price decimal(7,1)
);
②在表级约束设置主键约束:
CREATE TABLE table_name
(
column_name datatype
[,…n],
[[CONSTRAINT constraint_name]PRIMARY KEY(column_name1,coiumn_name2,…)]
)
例:在创建图书信息表(books)时,以表级约束的方式创建主键约束代码语句如下:
USE dbtest1
GO
CREATE TABLE books
(
id int ,
name nvarchar(20),
price decimal(7,1)
CONSTRAINT pk_books_id PRIMARK KEY(id)
);
在修改表时添加主键约束
如果数据表已将创建完成,则需要在修改表时为表中的列添加主键约束。具体用法如下:
ALTER TABLE table_name
ADD [CONSTRAINT constraint_name] PRIMARY KEY(column_name1,column_name2,…);
例:假设在创建图书信息表时,并没有为其添加主键约束。要求在修改表时为其添加主键约束。
根据题目要求,具体语法如下:
ALTER TABLE books
ADD CONSTRAINT pk_books_id PRIMARY KEY(id);
删除主键约束
删除主键约束主要使用的是ALTER TABLE 语句,具体用法如下:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
例:删除图书信息表(books)中的主键约束。
根据题目要求,具体语法如下:
ALTER TABLE books
DROP CONSTRAINT pk_books_id;
其他约束和主键约束设置删除等操作类似,只是关键字不同。
各关键字如下:
外键约束 REFERENCES
唯一约束 UNIQUE
检查约束 CHECK
默认值约束 DEFAULT