任务八 测试 openGauss DBMS 的数据库约束
任务目标
机构组织的业务规则,有相当一部分通过数据库约束来实现。通过本任务,读者可以掌握
openGaussDBMS的主键(PRIMARY KEY)约束、UNIQUE约束、NOT NULL约束、外键(FOR- EIGNKEY)约束、CHECK约束,并能为某个属性设置默认值(DEFAULT)。
实施步骤
一、录到数据库studentdb
用Linux用户omm,打开一个Linux终端窗口,执行如下的命令,使用数据库用户student登录到数据库studentdb:
gsql-d studentdb-h 192.168.100.91-U student-p26000-W student@ustb2020-r
二、测试CHECK约束
1.列级CHECK约束
在创建表的时候,创建列级CHECK约束:
DROP TABLE IF EXISTS test;
-- 创建表,age列的值表示活着的人的年龄,是0<=age<200的整数
-- 在列级创建该CHECK约束
CREATE TABLE test(age INT CHECK(age>=0 AND age<200),
sex INT);
INSERT INTO test VALUES(-20,1); -- 插入值不满足CHECK约束,插入报错!
INSERT INTO test VALUES(20,1); -- 插入值满足CHECK约束
INSERT INTO test VALUES(201,1); -- 插入值不满足CHECK约束,插入报错!
2.表级CHECK约束
在创建表的时候,创建表级CHECK约束:
DROP TABLE IF EXISTS test;
-- 创建表,age列的值表示活着的人的年龄,是0<=age<200的整数
-- 在表级创建该CHECK约束
CREATE TABLE test( age INT,
sex INT,
CHECK(age>=0 AND age<200)
);
INSERT INTO test VALUES(-20,1); -- 插入值不满足CHECK约束,插入报错!
INSERT INTO test VALUES(20,1); -- 插入值满足CHECK约束
INSERT INTO test VALUES(201,1); -- 插入值不满足CHECK约束,插入报错!

三、测试NOTNULL约束
在创建表的时候,创建列级NOTNULL约束:
DROP TABLE IF EXISTS test;
CREATE TABLE test( sno int NOT NULL, -- 在列级创建NOT NULL约束
age int CHECK(age>0 and age<200</
openGauss数据库约束测试任务

最低0.47元/天 解锁文章
4112

被折叠的 条评论
为什么被折叠?



