参考源
- 简单教程
- 菜鸟教程
SQL 约束 ( constraints )
SQL 约束 ( constraints ) 用于设置表中的数据规则,为了防止不符合规则的数据进入数据库。
在用户进行增、删、改的时候,预防非法的数据进入数据库,从而保证数据库中的数据具有正确性、有效性、相容性。
如果存在违反约束的数据行为,行为会被约束终止
约束可以在
创建表时指定 ( 通过 CREATE TABLE 语句 )
,或者在表创建之后设置 ( 通过 ALTER TABLE 语句 )
SQL CREATE TABLE + CONSTRAINT 语法
CREATE TABLE table_name (
column_name1 data_type ( size ) constraint_name ,
column_name2 data_type ( size ) constraint_name ,
column_name3 data_type ( size ) constraint_name ,
....
);
简单示例:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P) //PRIMARY KEY约束
)
CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY, //PRIMARY KEY约束
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
SQL 规范中的约束
约束 | 说明 |
---|---|
NOT NULL | 指示某列不能存储 NULL 值 |
UNIQUE | 保证某列的每行必须有唯一的值 |
PRIMARY KEY | NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识有助于更容易更快速地找到表中的一个特定的记录 |
FOREIGN KEY | 保证一个表中的数据匹配另一个表中的值的参照完整性 |
CHECK | 保证列中的值符合指定的条件 |
DEFAULT | 规定没有给列赋值时的默认值 |