撰写时间:2017-12-10,整理时间:2023-01-28
一、基本概念
SQL中有五类常用的约束,用来对某个字段的数据进行约束:
not null
:非空约束,指定某列不为空 unique
:唯一约束,指定某列和几列组合的数据不能重复 primary key
:主键约束,即非空加上唯一 foreign key
:外键,指定该列记录属于主表中的一条记录,参照另一条在主表中的数据 default
:默认值,当添加一条数据记录时,如果没有某一个字段没有插入数据,则自动保存默认数据 check
:检查,指定一个表达式,用于检验指定数据
二、语法
2.1 添加主键约束
1
2
| alter table 表名
add constraint 约束名 primary key (主键)
|
2.2 添加唯一约束
1
2
| alter table 表名
add constraint 约束名 unique (字段)
|
2.3 添加默认约束
1
2
| alter table 表名
add constraint 约束名 default ('默认内容') for 字段
|
2.4 添加检查check约束,要求字段只能在1到100之间
1
2
| alter table 表名
add constraint 约束名 check (字段 between 1 and 100 )
|
2.5 添加外键约束(“主表”和“从表”建立关系)
1
2
| alter table 从表
add constraint 约束名 foreign key(关联字段) references 主表(关联字段)
|
2.6 查看表中的所有约束
2.7 删除约束
1
| alter table 表名 drop constraint 约束名
|
三、示例
下面以以一个简单的银行数据库中的部分表为例,在建立表的时候添加对应的约束:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| create table branch(
branch_name varchar(20),
branch_city varchar(20),
assert numeric(8,2),
-- 添加branch表的主键
constraint branch_primary primary key(branch_name)
)
create table loan(
loan_number varchar(20),
branch_name varchar(20),
amount numeric(8,2),
-- 添加loan表的主键
constraint loan_primay primary key (loan_number),
-- 添加loan表中branch_name的外键,参考branch主表
constraint loan_branch_name_foreign foreign key (branch_name) references branch
)
-- 删除loan表中的外键约束
alter table loan drop constraint loan_branch_name_foreign
|
本文原创自“极客开发者”,禁止转载!