数据完整性(约束操作)
- 实体完整性:主键约束、唯一键约束
- 域完整性:默认值约束、检查约束、非空
- 参照(引用)完整性:外键约束
创建数据表时定义约束
语法
create table 数据表名
(
列名1 数据类型1 [constraint 约束名1][约束1]
列名2 数据类型2 [constraint 约束名2][约束2]
……
列名n 数据类型n [constraint 约束名n][约束n][,]
[constraint 约束名n+1][约束n+1][,] --表级约束
……
)
(1)列级约束:在表的列名之后直接定义的约束,只约束这一列的数据
(2)表级约束:在表定义的所有列之后,单独一行代码定义的约束,这个约束可以只约束一个列,
也可以约束多个列。同时约束多个列的必须是表级约束。
(3)注意:constraint 约束名:要求在一个数据库里面,约束名称必须唯一:如果不指定,则系统默认指定。
(4)用表级约束添加主键时,声明列时要提前声明非空 (not null),不然要报错
# 命名格式通常可以采用:表名_约束名_序号
代码
例:定义学生表,学号为主键,性别默认为女,只能取值男或女,电话号码唯一。
create table tbStudent
(
sno char(10) constraint stu_pk_01 primary key,
sname varchar(8) not null,
sex char(2) default('女') chec