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