SQLServer的基本语句(五个约束)_03
一:添加约束
1、主键约束:(主键是不允许重复,不允许为null的)
(1)、在创建表的时候设置主键
create table 表名(列名1 数据类型 primary key, 列名2 数据类型.....)
(2)、在创建表后设置主键
alter table 表名 add constraint 约束名 primary key(要设为主键的列名)
2、唯一约束:(唯一键不允许重复,但允许有且只有一个null)
(1)、在创建表的时候设置唯一键
create table 表名(列名1 数据类型 unique, 列名2 数据类型.....)
(2)、在创建表后设置唯一键
alter table 表名 add constraint 约束名 unique(要设为唯一键的列名)
3、Check约束(自定义约束):
(1)、在创建表的时候设置check键
create table 表名(列名1 数据类型 check(列名1 like ‘取值范围’), 列名2 数据类型.....)
(2)、在创建表后设置check键
alter table 表名 add constraint 约束名 check(列名1 like ‘取值范围’)
4、默认值约束:
(1)、在创建表的时候设置check键
create table 表名(列名1 数据类型 check(列名1 like ‘取值范围’), 列名2 数据类型.....)
(2)、在创建表后设置check键
alter table 表名 add constraint 约束名 check(列名1 like ‘取值范围’)
5、外键约束:
alter table 外键表 add constraint 约束名 foreign key(外键(列名)) references 主键表(主键(列名))
————————————————
use pas create table tb1( id int primary key, name varchar(10) unique, age int check(age like '1[0-5]'), sex varchar(2) default '男' ) create table tb1( id int not null, name varchar(10), age int, sex varchar(2) ) alter table tb1 add constraint PK_id primary key (id) alter table tb1 add constraint UQ_name unique (name) alter table tb1 add constraint CK_age check(age like '1[0-5]') alter table tb1 add constraint UQ_sex default '男' for sex