Giá trị NULL trong SQLite
Giá trị NULL trong SQLite là khái niệm được sử dụng để biểu diễn một giá trị bị khuyết thiếu. Một giá trị NULL trong một bảng là một giá trị trong một trường và bị bỏ trống.
Một trường với một giá trị NULL là một trường không có giá trị nào. Nó là thực sự quan trọng để hiểu rằng một giá trị NULL là khác một giá trị 0 (zero value) hoặc một trường mà chứa các dấu cách.
Cú pháp
Cú pháp cơ bản của sử dụng NULL trong khi tạo một bảng như sau:
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 xác định rằng cột nên luôn luôn chấp nhận một giá trị tường minh của kiểu dữ liệu đã cho. Có hai cột mà chúng ta đã không sử dụng NOT NULL, nghĩa là những cột này có thể là NULL.
Một trường với một giá trị NULL là đã bị bỏ trống trong khi tạo bản ghi.
Ví dụ
Giá trị NULL có thể tạo các vấn đề trong khi chọn lựa dữ liệu, tuy nhiên, bởi vì khi so sánh với một giá trị không biết với bất kỳ giá trị nào khác, kết quả là luôn luôn chưa biết trước và không được bao trong các kết quả cuối cùng. Bạn theo dõi bảng COMPANY có các bản ghi 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
Bây giờ chúng ta sử dụng lệnh UPDATE để thiết lập các giá trị khác null là NULL như sau:
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
Bây giờ, bảng COMPANY này sẽ có các bản ghi:
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, bạn theo dõi cách sử dụng của toán tử IS NOT NULL để liệt kê tất cả bản ghi có SALARY không là Null:
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NOT NULL;
Lệnh SQLite trên sẽ cho kết quả:
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 của toán tử IS NULL trong SQLite. Ví dụ này sẽ liệt kê tất cả bản ghi có SALARY là NULL:
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NULL;
Lệnh SQLite trên sẽ cho kết quả sau:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 6 Kim 22 7 James 24
Các bài học SQLite phổ biến khác tại VietJack:
- SQLite - Xóa bảng
- SQLite - Truy vấn Insert
- SQLite - Truy vấn Select
- SQLite - Toán tử
- SQLite - Biểu thức
- SQLite - Mệnh đề Where