美文网首页
SQLite NULL 值

SQLite NULL 值

作者: 木易林1 | 来源:发表于2019-01-08 09:59 被阅读0次

SQLite NULL 值

SQLite 的 NULL 是用来表示一个缺失值的项。表中的一个 NULL 值是在字段中显示为空白的一个值。

带有 NULL 值的字段是一个不带有值的字段。NULL 值与零值或包含空格的字段是不同的,理解这点是非常重要的。

语法

创建表时使用 NULL 的基本语法如下:

SQLite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

在这里,NOT NULL 表示列总是接受给定数据类型的显式值。这里有两个列我们没有使用 NOT NULL,这意味着这两个列可以为 NULL。

带有 NULL 值的字段在记录创建的时候可以保留为空。

实例

NULL 值在选择数据时会引起问题,因为当把一个未知的值与另一个值进行比较时,结果总是未知的,且不会包含在最后的结果中。假设有下面的表,COMPANY 的记录如下所示:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

让我们使用 UPDATE 语句来设置一些允许空值的值为 NULL,如下所示:

sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);

现在,COMPANY 表的记录如下所示:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22
7           James       24

接下来,让我们看看 IS NOT NULL 运算符的用法,它用来列出所有 SALARY 不为 NULL 的记录:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NOT NULL;

上面的 SQLite 语句将产生下面的结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

下面是 IS NULL 运算符的用法,将列出所有 SALARY 为 NULL 的记录:

sqlite> SELECT  ID, NAME, AGE, ADDRESS, SALARY
        FROM COMPANY
        WHERE SALARY IS NULL;

上面的 SQLite 语句将产生下面的结果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22
7           James       24

相关文章

  • SQLite NULL 值

    SQLite NULL 值 SQLite 的 NULL 是用来表示一个缺失值的项。表中的一个 NULL 值是在字段...

  • 「SQLite学习笔记」 NULL 值

    SQLite 的 NULL 是用来表示一个缺失值的项。表中的一个 NULL 值是在字段中显示为空白的一个值。 带有...

  • SQLite常用指令

    一、sqlite3存储数据类型 null:标识一个null值;interger:整数类型;real:浮点数;tex...

  • SQLite数据库

    SQLite数据类型 NULL空值、INTEGER整型值、REAL浮点值、TEXT字符串、BLOB二进制对象 SQ...

  • vulnerabilities found by vulgrin

    null pointer reference in sqlite3 https://bugs.launchpad....

  • postgresql将字段为空的值替换为指定值

    null 表示缺失的值, '' " "表示空值null 参与的表达式运算都返回null使用is null 判...

  • MYSQL-空值与非空

    NULL 字段值可以为空 NOT NULL 字段值禁止为空

  • sql中NULL与空的区别

    空值不占空间,NULL值占空间。当字段不为NULL时,也可以插入空值。 当使用IS NOT NULL 或者IS N...

  • NULL

    NULL 特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。 在下列情况下一个变量...

  • SQLite的数据类型简介

    NULL: 表示该值为NULL值。 INTEGER: 无符号整型值。 REAL: 浮点值。 TEXT: 文本字符串...

网友评论

      本文标题:SQLite NULL 值

      本文链接:https://www.haomeiwen.com/subject/nkfkrqtx.html