Mysql kiểm tra null

Khi thực hiện các thao tác chèn vào các bảng, những lúc mà giá trị chưa xác định thì ta sử dụng NULL.  

Để đáp ứng các yêu cầu của hệ thống quản lý cơ sở dữ liệu quan hệ thực tế, MySQL sử dụng NULL làm chủ sở hữu vị trí cho các giá trị chưa được gửi. Ảnh chụp màn hình bên dưới để thấy giá trị NULL trông như thế nào trong cơ sở dữ liệu.

Bây giờ chúng ta hãy xem xét một số điều cơ bản cho NULL trước khi chúng ta đi sâu vào cuộc thảo luận

  • NULL không phải là loại dữ liệu  - điều này có nghĩa là nó không được nhận định dạng là "int", "date" hoặc bất kỳ loại dữ liệu nào được xác định .
  • Các phép toán học số  liên quan đến  NULL  luôn trả về NULL chẳng hạn, 69 + NULL = NULL.
  • Tất cả các  hàm tổng chỉ ảnh hưởng đến các hàng không có giá trị NULL .

Hiện tại chúng ta hãy chứng minh hàm đếm xử lý các giá trị null. Chúng ta hãy xem nội dung hiện tại của bảng thành viên-

SELECT * FROM `members`;

Thực hiện đoạn script trên cho chúng ta kết quả như sau

số_hội_viênhọ_têngiới tínhngày_sinhđịa_chỉ_thựcđịa_chỉ_bưu_điệnsố_liên_hệemail1Janet JonesNữJanet JonesNữ21-07-1980First Street Plot No 4Túi cá nhân0759 253 542janetjones@yagoo. cm2Janet Smith JonesNữ23-06-1980Melrose 123NULLNULLjj@fstreet. com3Robert PhilNam07-12-1989 . com3rd Street 34NULL12345rm@tstreet. com4Gloria WilliamsNữ14-02-19842nd Street 23NULLNULLNULL5Leonard HofstadterNamNULLWoodcrestNULL845738767NULL6Sheldon CooperNamNULLWoodcrestNULL976736763NULL7Rajesh KoothrappaliNamNULLWoodcrestNULL938867763NULL8Leslie WinkleNam14-02-1984WoodcrestNULL987636553NULL9Howard WolowitzNam24-08-1981SouthParkP. O. Hộp 4563987786553lwolowitz[at]email. me

Hãy đếm tất cả các thành viên đã cập nhật contact_number của họ

SELECT COUNT[contact_number]  FROM `members`;

Thực hiện các truy vấn trên cho chúng ta kết quả sau

ĐẾM[số_liên_hệ]7

Lưu ý. Giá trị NULL chưa được tính vào

NOT là gì?

Toán tử logic logic được sử dụng để kiểm tra các điều kiện Boolean và trả về true nếu điều kiện này là sai. Toán tử KHÔNG trả về false nếu điều kiện được kiểm tra là đúng

Điều kiện

Kết quả thanh toán NOT

ĐÚNG VẬY

Sai

Sai

ĐÚNG VẬY


In sao sử dụng NOT NULL?

Sẽ có trường hợp khi chúng ta sẽ phải thực hiện tính toán trên kết quả truy vấn tập tin và trả về các giá trị. Thực hiện bất kỳ hoạt động số học nào trên các cột có giá trị NULL trả về kết quả null. Để tránh những vấn đề xảy ra như vậy, chúng tôi có thể sử dụng mệnh đề KHÔNG NULL để giới hạn kết quả mà dữ liệu của chúng tôi hoạt động.

Giá trị KHÔNG NULL


Giả sử rằng chúng ta muốn tạo một bảng với các trường nhất định phải luôn được cung cấp các giá trị khi thêm các hàng mới vào một bảng. Chúng ta có thể sử dụng mệnh đề NOT NULL trên một trường nhất định khi tạo bảng.

Ví dụ hiển thị bên dưới việc tạo một bảng mới chứa dữ liệu của nhân viên. Số lượng nhân viên phải luôn được cung cấp

CREATE TABLE `employees`[
  employee_number int NOT NULL,
  full_names varchar[255] ,
  gender varchar[6]
];

Bây giờ chúng ta hãy thử chèn một bản viết mới mà không chỉ định tên nhân viên và xem điều gì sẽ xảy ra

INSERT INTO `employees` [full_names,gender] VALUES ['Steve Jobs', 'Male'];

Thực thi đoạn mã trên bàn làm việc của MySQL sẽ báo lỗi sau -

Từ khóa NULL

NULL cũng có thể được sử dụng làm từ khóa khi thực hiện các thao tác Boolean trên các giá trị bao gồm NULL. Từ khóa "IS / KHÔNG" được sử dụng cùng với từ NULL cho các mục đích đó. Cú pháp cơ bản khi null được sử dụng làm từ khóa như sau

`comlumn_name'  IS NULL
`comlumn_name' NOT NULL

name

  • "IS NULL" là từ khóa thực hiện so sánh Boolean. Nó trả về true nếu giá trị được cung cấp là NULL và false nếu giá trị được cung cấp không phải là NULL.
  • "KHÔNG NULL" là từ khóa thực hiện so sánh Boolean. Nó trả về true nếu giá trị được cung cấp không phải là NULL và false nếu giá trị được cung cấp là null.

Bây giờ chúng ta hãy xem một ví dụ thực tế sử dụng từ khóa KHÔNG NULL để loại bỏ tất cả các cột giá trị có giá trị null

Tiếp tục với ví dụ trên, giả sử chúng ta cần chi tiết về các thành viên có số liên lạc không phải là null. Tôi có thể thực hiện một truy vấn như

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

Thực hiện truy vấn trên chỉ cung cấp các bản ghi trong số liên lạc đó không phải là null

Giả sử chúng tôi muốn hồ sơ thành viên trong đó số liên lạc là null. Tôi có thể sử dụng truy vấn sau đây

SELECT * FROM `members` WHERE contact_number IS NULL;

 

Thực hiện truy vấn trên cung cấp chi tiết thành viên có số liên lạc là NULL


số_hội_viênhọ_têngiới tínhngày_sinhđịa_chỉ_thựcpostal_addresssố_liên_hệemail1Janet Jones1Janet JonesFemaleJanet JonesNữ21-07-1980First Street Plot No 4Túi cá nhân0759 253 542janetjones@yagoo. cm3Robert PhilNam07-12-1989 . com . com3rd Street 34NULL12345rm@tstreet. com5Leonard HofstadterNamNULLWoodcrestNULL845738767NULL6Sheldon CooperNamNULLWoodcrestNULL976736763NULL7Rajesh KoothrappaliNamNULLWoodcrestNULL938867763NULL8Leslie WinkleNam14-02-1984WoodcrestNULL987636553NULL9Howard WolowitzNam24-08-1981SouthParkP. O. Hộp 4563987786553lwolowitz[at]email. tôi

So sánh giá trị null

Ba giá trị logic - thực hiện các thao tác Boolean trong các điều kiện liên quan đến NULL có thể trả về "Không xác định", "Đúng" hoặc "Sai".

Ví dụ. sử dụng từ khóa "IS NULL"  khi thực hiện các so sánh hoạt động  liên quan đến NULL  có thể trả về giá trị True hoặc  . Sử dụng các khoản tiền so sánh khác trả về "Không xác định" [NULL].

Giả sử bạn so sánh số năm với 5

SELECT 5 =5;

Kết quả truy vấn là 1 có nghĩa là ĐÚNG


0

Please make the thao tác tương tự với NULL


1

 


2

Hãy xem xét một ví dụ khác


3


4

Kết quả truy vấn là 0 có nghĩa là SAI

Vui lòng xem xét ví dụ tương tự bằng cách sử dụng NULL


5

 


6

Cho phép sử dụng từ khóa IS NULL


7


8

Kết quả truy vấn là 0, là FALSE


9

SELECT COUNT[contact_number]  FROM `members`;
0

Kết quả truy vấn là 1 là TRUE

Tóm tắt

  • NULL là một địa chỉ giữ giá trị cho các bảng tùy chọn của trường
  • MySQL xử lý giá trị NULL khác với các loại dữ liệu khác. The NULL value when being used in a condition will đánh giá trị Boolean sai.
  • Logic logic hoạt động KHÔNG được sử dụng để kiểm tra các giá trị Boolean và đánh giá là đúng nếu giá trị Boolean là sai và sai nếu giá trị Boolean là đúng

Chủ Đề