Là null trên mysql?

- Khi chúng ta chèn một hàng mới vào bên trong bảng, nếu chúng ta không xác định đầy đủ giá trị cho tất cả các cột thì những cột bị bỏ trống sẽ nhận giá trị NULL

- Giá trị NULL có thể tạm hiểu là ô không có dữ liệu gì cả [nó không phải là giá trị FALSE, không phải giá trị bằng 0 cũng không phải là chuỗi rỗng]

- Tôi có một cái bảng Student như bên dưới

STTTênGiới tínhTuổiThành phố1Tây Môn Phi TuyếtNam19Cần Thơ2Dương Nhật Tuấn DũngNam19An Giang3Chu Trúc ThanhNữ21Bạc Liêu

- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35];

IDTênGiới tínhTuổiThành phố1Tây Môn Phi TuyếtNam19Cần Thơ2Dương Nhật Tuấn DũngNam19An Giang3Chu Trúc ThanhNữ21Bạc Liêu4Đường TạmNULL35NULL

⛔ Hai cột Gen & City của sinh viên "Đường Tam Tạng" được nhận giá trị NULL là do tôi không gán giá trị cho họ khi chèn hàng vào bảng

2] Cách truy xuất các hàng có chứa giá trị NULL

- Giá trị NULL không giống với các loại giá trị thông thường, nếu muốn truy xuất những hàng có chứa giá trị NULL thì khi khai báo 'điều kiện' trong mệnh đề WHERE, chúng ta không thể sử dụng dấu bằng toán tử = mà thay

- Tương tự, nếu muốn truy xuất những hàng không chứa giá trị NULL thì chúng ta không thể sử dụng toán tử khác. = which instead of that is must be used toán tử IS NOT NULL

Điều kiện MySQL IS NOT NULL được sử dụng để kiểm tra giá trị NOT NULL trong câu lệnh SELECT, INSERT, UPDATE hoặc DELETE

cú pháp

Cú pháp của Điều kiện IS NOT NULL trong MySQL là

expression IS NOT NULL

Tham số hoặc Đối số

biểu thứcGiá trị để kiểm tra xem nó có phải là giá trị NULL không

Ghi chú

  • Nếu biểu thức KHÔNG phải là giá trị NULL, điều kiện ước tính là TRUE
  • Nếu biểu thức là một giá trị NULL, điều kiện đánh giá là FALSE

Ví dụ - Với câu lệnh SELECT

Dưới đây là một ví dụ về cách sử dụng điều kiện MySQL IS NOT NULL trong câu lệnh SELECT

SELECT *
FROM contacts
WHERE last_name IS NOT NULL;

Ví dụ MySQL IS NOT NULL này sẽ xóa tất cả các bản ghi khỏi bảng danh bạ nơi last_name không chứa giá trị null

- Khi chúng ta chèn một hàng mới vào bên trong bảng, nếu chúng ta không xác định đầy đủ giá trị cho tất cả các cột thì những cột bị bỏ trống sẽ nhận giá trị NULL

Nội dung chính Hiển thị

- Giá trị NULL có thể tạm hiểu là ô không có dữ liệu gì cả [nó không phải là giá trị FALSE, không phải giá trị bằng 0 cũng không phải là chuỗi rỗng]

- Tôi có một cái bảng Student như bên dưới

IDNameGiới tínhTuổiThành phố1Tây Môn Phi TuyếtNam19Cần Thơ2Dương Nhật Tuấn DũngNam19Cần Thơ3Dương Nhật Tuấn DũngAn Giang21Chu Trúc Thanh

Nữ INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35]; to add a .

STTTênGiới tínhTuổiThành phố1Tây Môn Phi TuyếtNam19Cần Thơ2Dương Nhật Tuấn DũngNam19Cần Thơ3Dương Nhật Tuấn DũngAn Giang21Chu Trúc Thanh4NữBạc Liêu35Bạc Liêu

- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35];

Pathway

NULL = mà thay vào đó phải sử dụng toán tử IS NULL.

⛔ Hai cột Gener & City của sinh viên "Đường Tam Tạng" được nhận giá trị NULL là do tôi không gán giá trị cho họ khi chèn hàng vào bảng. . = which instead of that is must be used toán tử IS NOT NULL.

2] Cách truy xuất các hàng có chứa giá trị NULL

IDNameGiới tínhTuổiThành phố1Tây Môn Phi TuyếtNam19Cần Thơ2Dương Nhật Tuấn DũngNam19Bạc Liêu3Dương Nhật Tuấn DũngAn Giang21Chu Trúc Thanh4NữNam35Bạc Liêu5- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35]; . An Giang23Chu Trúc Thanh

nữ

Bạc Liêu * TỪ Học sinh Ở ĐÂU City IS NULL;

- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35];

IDNameGiới tínhTuổiThành phố2Dương Nhật Tuấn DũngNam19Bạc Liêu4NữNam35Bạc Liêu

- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35];

Đường Tạm Lãng * TỪ Học sinh Ở ĐÂU City IS NOT NULL;

- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35];

IDNameGenderAgeCity1Tây Môn Phi TuyếtNam19Cần Thơ3Dương Nhật Tuấn DungAn Giang21Chu Trúc Thanh5- Khi tôi sử dụng lệnh INSERT INTO Student [ID, Name, Age] VALUES [4, "Đường Tam Tạng", 35]; . An Giang23Chu Trúc Thanh

Bạn đã thấy cách SELECT cùng với mệnh đề WHERE trong SQL lấy dữ liệu từ bảng MySQL, nhưng khi chúng tôi cố gắng cung cấp một điều kiện để so sánh giá trị trường hoặc giá trị cột với NULL, thì công việc của nó không chính xác. NULL, it doing work not precision

Để xử lý những vấn đề như vậy, MySQL cung cấp 3 toán tử

  • LÀ KHÔNG. This code return true if the column value is NULL. This code return true if the column value is NULL

  • KHÔNG PHẢI LÀ NULL. This toán tử trả về đúng nếu giá trị côt không phải là NULL. This toán tử trả về đúng nếu giá trị côt không phải là NULL

  • Toán tử này so sánh các giá trị mà [không giống toán tử =] là đúng khi hai giá trị là NULL. Toán tử này so sánh các giá trị mà [không giống toán tử =] là đúng khi hai giá trị là NULL

Điều kiện liên quan tới NULL khá đặc biệt. You can't use = NULL or. = NULL for find NULL value in the column. Những so sánh như thế luôn luôn thất bại bởi vì nó không thể nói rằng có hay không chúng là đúng. Ngay cả NULL = NULl cũng thất bại

Để tìm các cột là hoặc không phải là NULL, sử dụng toán tử IS NULL hoặc IS NOT NULL trong MySQL

Use NULL value in MySQL

Giả sử tạo bảng hocphik59 trong cơ sở dữ liệu sinhvien. Bảng này bao gồm hai cột là mười và hocphi [các bạn lưu ý rằng khi tạo bảng ở trường học phí ta đã không ràng buộc điều kiện NOT NULL và khi chèn dữ liệu mình đã để trống hai trường]. hocphik59 trong cơ sở dữ liệu sinhvien. Bảng này bao gồm hai cột là mười và hocphi [các bạn lưu ý rằng khi tạo bảng ở trường học phí ta đã không ràng buộc điều kiện NOT NULL và khi chèn dữ liệu mình đã để trống hai trường]

//Chon co so du lieu

USE sinhvien;
//Tao bang hocphik59

CREATE TABLE hocphik59 [
 ten VARCHAR[255] NOT NULL,
hocphi INT
];

//Chen du lieu vao bang hocphik59
INSERT INTO hocphik59 [ten, hocphi]
VALUES ['Nam', 4000000];

INSERT INTO hocphik59 [ten, hocphi]
VALUES ['Thanh', NULL];

INSERT INTO hocphik59 [ten, hocphi]
VALUES ['Cao', NULL];

INSERT INTO hocphik59 [ten, hocphi]
VALUES ['Huong', 3000000];

Quảng cáo

Sau đó, sử dụng lệnh SELECT * FROM hocphik59; . CHỌN * TỪ hocphik59;

SELECT * FROM hocphik59;
//ket qua la:
+--------+-------------+
| ten    |   hocphi    |
+--------+-------------+
| Nam    |   4000000   |
| Thanh  |   NULL      |
| Cao    |   NULL      |
| Huong  |   3000000   |
+--------+-------------+

Bây giờ, nếu bạn sử dụng = và. = với cột hocphi, bạn sẽ thấy rằng chúng không làm việc với các giá trị NULL, và sẽ không có kết quả được trả về. = and. = với cột hocphi, bạn sẽ thấy rằng chúng không làm việc với các giá trị NULL, và sẽ không có kết quả được trả về

SELECT * FROM hocphik59 WHERE hocphi = NULL;
0 row[s] returned 
mysql> SELECT * FROM hocphik59 WHERE hocphi != NULL;
0 row[s] returned

Để tìm các bản ghi mà cột hocphi là hoặc không phải là NULL, các truy vấn nên được viết như sau. hocphi là hoặc không phải là NULL, các truy vấn nên được viết như sau

SELECT * FROM hocphik59 
   WHERE hocphi IS NULL;

//Ket qua la:
+--------+-------------+
| ten    |   hocphi    |
+--------+-------------+
| Thanh  |   NULL      |
| Cao    |   NULL      |
+--------+-------------+

SELECT * FROM hocphik59 
   WHERE hocphi IS NOT NULL;
   
   //Ket qua la:
+--------+-------------+
| ten    |   hocphi    |
+--------+-------------+
| Nam    |   4000000   |
| Huong  |   3000000   |
+--------+-------------+

Xử lý giá trị NULL trong PHP Script

Bạn có thể sử dụng điều kiện if…else để chuẩn bị truy vấn dựa trên giá trị NULL. if…else to standard is a query based on NULL value

Quảng cáo

Ví dụ

Ví dụ sau lấy hocphi ra bên ngoài và sau đó so sánh nó với giá trị có sẵn trong bảng. Ở đây mình sử dụng hàm isset[$hocphi] để kiểm tra xem biến hocphi đã có giá trị [khác null] hay chưa, nếu đã được thiết lập thì trả về giá trị Đúng, nếu không là Sai. isset[$hocphi] để kiểm tra xem biến hocphi đã có giá trị [khác null] hay chưa, nếu đã được thiết lập thì trả về giá trị Đúng, nếu không là Sai

Chủ Đề