Giá trị NULL trong SQLite - SQLite căn bản và nâng cao
Giá trị NULL trong SQLite là thuật ngữ được sử dụng để thể hiện một giá trị còn thiếu. Giá trị NULL trong bảng là một giá trị trong trường bị bỏ trống. Trường có giá trị NULL là trường không có giá trị. Điều rất quan trọng để hiểu rằng giá trị NULL khác với giá trị 0 hoặc trường chứa khoảng ...
Giá trị NULL
trong SQLite
là thuật ngữ được sử dụng để thể hiện một giá trị còn thiếu. Giá trị NULL
trong bảng là một giá trị trong trường bị bỏ trống.
Trường có giá trị NULL
là trường không có giá trị. Điều rất quan trọng để hiểu rằng giá trị NULL
khác với giá trị 0 hoặc trường chứa khoảng trắng.
1. Cú pháp giá trị NULL trong SQLite
Sau đây là cú pháp cơ bản của việc sử dụng NULL
trong khi tạo bảng.
SQLite> CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Ở đây, NOT NULL
biểu thị rằng cột phải luôn chấp nhận giá trị rõ ràng của kiểu dữ liệu đã cho. Có hai cột mà chúng tôi không sử dụng NOT NULL
, có nghĩa là các cột này có thể là NULL.
Trường có giá trị NULL
là trường bị bỏ trống trong quá trình tạo bản ghi.
2. Ví dụ giá trị NULL trong SQLite
Giá trị NULL
có thể gây ra vấn đề khi chọn dữ liệu, vì khi so sánh một giá trị không xác định với bất kỳ giá trị nào khác, kết quả luôn không xác định và không được bao gồm trong kết quả cuối cùng.
Giả sử chúng ta có bảng COMPANY
có các dòng dữ liệu sau:
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
Chúng ta hãy sử dụng câu lệnh UPDATE
để thiết lập một vài giá trị nullable dưới dạng NULL như sau:
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
Bây giờ, chúng ta có bảng COMPANY
sẽ có các bản ghi sau đây.
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
Tiếp theo, chúng ta hãy xem cách sử dụng toán tử IS NOT NULL
để liệt kê tất cả các bản ghi trong đó SALARY
không phải là NULL.
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NOT NULL;
Câu lệnh SQLite
ở trên sẽ tạo ra kết quả như sau:
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
Sau đây là cách sử dụng toán tử IS NULL
, danh sách này sẽ liệt kê tất cả các bản ghi trong đó SALARY
là NULL.
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NULL;
Câu lệnh SQLite
ở trên sẽ tạo ra kết quả như sau.
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 7 James 24