Alex_McAvoy

想要成为渔夫的猎手

SQL 完整性约束命名子句

【完整性约束命名子句】

在 SQL 中,完整性约束命名子句为 CONSTRAINT 语句,其语法如下

1
CONSTRAINT <完整性约束条件名> <完整性约束条件>;

其中,<完整性约束条件> 包括 NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECK

例如,建立学生表 student,要求学号在 90000~99999 之间,姓名不能为空,年龄小于 30,性别只能是男或女

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE Student (
Sno NUMERIC(6)
CONSTRAINT C1 CHECK(Sno BETWEEN 90000 AND 99999),
Sname CHAR(20)
CONSTRAINT C2 NOT NULL,
Sage NUMERIC(3)
CONSTRAINT C3 CHECK(Sage<30),
Ssex CHAR(2)
CONSTRAINT C4 CHECK(Ssex IN('男', '女')),
CONSTRAINT StudentKey PRIMARY KEY(Sno)
);

如上,在 student 表上建立了 5 个约束条件,包括主码约束 StudentKey、C1、C2、C3、C4 这 4 个列级约束

【完整性约束的修改】

使用 ALTER TABLE 语句可以删除、添加表中的完整性约束限制

例如,将上例中的 C3 列级约束由年龄不能小于 30 改为不能小于 25

1
2
3
4
5
6
7
/*先删除原来的*/
ALTER TABLE student
DROP CONSTRAINT C3;

/*再添加新的*/
ALTER TABLE student
ADD CONSTRAINT C3 CHECK(Sage < 25);
感谢您对我的支持,让我继续努力分享有用的技术与知识点!