非空约束(NOT NULL),能够限制数据不能为空,这种约束只作用于列级。
例如:创建如表3-30所示的customer表,用于记录消费者信息,并进行相应数据的插入操作。表中c_custkey字段表示顾客编号,c_name字段表示顾客姓名。
表3-30 数据表customer结构
创建表customer时,在字段后直接添加“NOT NULL”关键字,即可对此列创建非空约束。具体语句如下:
CREATE TABLE customer(
c_custkey INTEGER NOT NULL,
c_name VARCHAR(25)
);
执行上述SQL语句后,即可创建表customer,并设置c_custkey列为非空约束。查看表结构,可以看到c_custkey列被设置了NOT NULL属性,如表3-31所示。
表3-31 数据表customer字段类型及属性
表customer插入数据时,如插入一条张三的信息{0, zhangsan},信息完整,可以插入。但如果把c_custkey设成NULL进行插入时,受限于非空约束,这个操作会被数据库系统拒绝。例如:
INSERT INTO customer (c_custkey,c_name) VALUES (0,'zhangsan');
INSERT INTO customer (c_custkey,c_name) VALUES (NULL,'zhangsan');
以上两条插入语句,第一条顺利执行。第二条将提示类似“violates not-NULL constraint”的违反约束错误,因为非空约束能限制插入数据不为空值。语句执行结果字段状态如图3-5所示。

图3-5 SQL执行结果字段状态表
例如:创建如表3-30所示的customer表,用于记录消费者信息,并进行相应数据的插入操作。表中c_custkey字段表示顾客编号,c_name字段表示顾客姓名。
表3-30 数据表customer结构
customer | ||
Column | c_custkey | c_name |
Type | INTEGER | VARCHAR |
CREATE TABLE customer(
c_custkey INTEGER NOT NULL,
c_name VARCHAR(25)
);
执行上述SQL语句后,即可创建表customer,并设置c_custkey列为非空约束。查看表结构,可以看到c_custkey列被设置了NOT NULL属性,如表3-31所示。
表3-31 数据表customer字段类型及属性
Column | Type | Modifiers |
c_custkey | INTEGER | NOT NULL |
c_name | VARCHAR(25) |
INSERT INTO customer (c_custkey,c_name) VALUES (0,'zhangsan');
INSERT INTO customer (c_custkey,c_name) VALUES (NULL,'zhangsan');
以上两条插入语句,第一条顺利执行。第二条将提示类似“violates not-NULL constraint”的违反约束错误,因为非空约束能限制插入数据不为空值。语句执行结果字段状态如图3-5所示。

图3-5 SQL执行结果字段状态表
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
内蒙古公司成功完成新一代BOSS云原生系统割接上线
openGauss
186次阅读
2025-03-24 09:40:40
第4期 openGauss 中级认证OGCP直播班招生中!3月30日开课
墨天轮小教习
151次阅读
2025-03-17 15:48:40
openGauss 7.0.0-RC1 版本正式发布!
Gauss松鼠会
104次阅读
2025-04-01 12:27:03
openGauss 7.0.0-RC1 版本体验:一主一备快速安装指南
孙莹
69次阅读
2025-04-01 10:30:07
从数据库源码比较 PostgreSql和OpenGauss的启动过程
maozicb
64次阅读
2025-03-24 15:55:04
一文快速上手openGauss
进击的CJR
60次阅读
2025-03-26 16:12:54
openGauss HASH JOIN原理
lbsswhu
56次阅读
2025-03-18 10:45:01
民生银行测试用例参数
Cabbage
50次阅读
2025-03-05 09:35:20
openGauss 学习之路:集群部署实战探索
openGauss
42次阅读
2025-03-21 10:34:13
openGauss问题记录:开启备机归档且备机stop情况下,执行gs_probackup失败
zym
38次阅读
2025-03-18 19:06:13