Navicat使用教程:关系数据库系统中的NULL值及其用途

在数据库中,NULL值是一个具有非常特殊含义的值。因此,重要的是要了解NULL值不同于零值或包含空格的字段。在今天的教程中,我们将探讨NULL值的含义以及如何在Navicat Premium中使用NULL 。

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

Navicat Premium最新试用版

什么是NULL/strong>

应该注意的是,NULL值不是数据库唯一的。在大多数计算机编程语言中也都可以找到它,它演变成值为零的内置常数。实际上,仍然是字符0终止了C中的字符串。但是,随着时间的流逝,它的意思是“什么也没有”。具体来说,NULL是指向表示NULL的特殊位模式的指针。这就是通常所说的“空指针”。

在数据库中,零是一个有意义的值,因此NULL变成一个特殊的标记,表示不存在任何值。从这种意义上讲,NULL不像在编程语言中那样指向存储位置。在数据库中,NULL值表示缺少值,这与零值不同。为了说明,请考虑以下问题:“ Rob拥有多少CD 答案可能是“零”(0)或NULL。在后一种情况下,NULL值可能意味着我们不知道Rob拥有多少CD。稍后,一旦我们确定了Rob拥有的CD数量,就可以使用数字值更新该值

允许将NULL作为列值

属于KEY的任何列都不允许使用NULL,但是对于其他字段,完全取决于您。在创建表时,在列定义旁边包含NOT NULL子句将强制用户在INSERT和UPDATE操作中为该列包含一个值。否则,将引发错误,并且操作将失败。 Navicat Premium的 “表设计”屏幕包括一个非空列,用于将字段指定为可为空或不可为空。这是Navicat 15的新黑暗模式:

Navicat使用教程:关系数据库系统中的NULL值及其用途

在新字段上,将自动取消选择不为空”复选框。

在查询中引用NULL值

编写查询时,有时您会希望过滤掉具有NULL值的行。其他时候,您将特别想检索包含NULL的行。这是两种方法:

查询可以使用IS NOT NULL子句过滤掉null。这是一个示例,该示例从Sakila数据库中排除了包含NULL original_language_id的文件:

Navicat使用教程:关系数据库系统中的NULL值及其用途

同样,您可以通过从NOT NULL子句中删除NOT来找出哪些行包含NULL值。现在,仅返回那些具有NULL original_language_id的行:

Navicat使用教程:关系数据库系统中的NULL值及其用途

结论

在今天的博客中,我们探讨了NULL值的含义以及如何在关系数据库中使用此特殊值。感兴趣的朋友可以下载Navicat Premium试用版免费评估~

相关内容推荐:

Navicat 使用教程>>>


想要购买Navicat Premium正版授权,或了解更多产品信息请点击【咨询在线客服】
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月7日
下一篇 2020年1月7日

相关推荐

发表回复

登录后才能评论