sqlite

데이터베이스; 내장 관계형 데이터베이스

null

English [nʌl] American [nʌl]

adj.

SQLite NULL 함수 통사론

기능: SQLite의 NULL은 값이 누락된 항목을 나타내는 데 사용됩니다. 테이블의 NULL 값은 필드에서 공백으로 나타나는 값입니다. NULL 값이 있는 필드는 값이 없는 필드입니다. NULL 값은 0 값이나 공백이 포함된 필드와 다르다는 점을 이해하는 것이 중요합니다.

구문: ​​테이블 생성 시 NULL을 사용하는 기본 구문은 다음과 같습니다.

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

여기서 NOT NULL은 해당 열이 항상 지정된 데이터 유형의 명시적 값을 허용한다는 의미입니다. 여기에는 NOT NULL을 사용하지 않는 두 개의 열이 있습니다. 즉, 이 두 열은 NULL이 될 수 없습니다.

NULL 값이 있는 필드는 레코드 생성 시 비워 둘 수 있습니다.

SQLite 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