Hướng dẫn tìm hiểu về NULL và NOT NULL trong MySQL

Nội dung được viết bởi G-LEARNING

NULL vừa là giá trị và vừa là từ khóa trong SQL. Trong đó, giá trị NULL đại diện cho dữ liệu không xác định hoặc không có dữ liệu. Còn từ khóa NULL được sử dụng trong các câu lệnh SQL để kiểm tra, so sánh hoặc thao tác với các giá trị NULL trong bảng. 

Vậy cú pháp và cách dùng của câu lệnh NULL và NOT NULL trong SQL như nào? Cùng Gitiho tìm hiểu trong bài viết ngày hôm nay nhé!

Giá trị NULL là gì?

Nói một cách đơn giản, NULL chỉ đơn giản là một giá trị giữ chỗ cho dữ liệu không tồn tại. Khi thực hiện các thao tác chèn vào bảng trong cơ sở dữ liệu, sẽ có đôi lúc các trường giá trị không khả dụng.

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

Giá trị NULL là gì?

Trước hết chúng ta sẽ xem xét một số điều cơ bản về giá trị NULL trước khi đi sâu vào tìm hiểu nó:

  • NULL không phải là một kiểu dữ liệu – điều này có nghĩa là nó không được nhận dạng như là một kiểu số tự nhiên “int”, kiểu dữ liệu ngày “date” hay bất kỳ loại dữ liệu được xác định nào khác. 
  • Các phép toán số học liên quan đến NULL luôn trả về NULL. Ví dụ: 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
     

NOT là gì?

Toán tử logic NOT được sử dụng để kiểm tra các điều kiện Boolean và trả về kết quả là true nếu như điều kiện sai. Toán tử NOT sẽ trả về kết quả là false nếu như điều kiện được kiểm tra là đúng.

Điều kiệnKết quả toán tử NOT
TrueFalse
FalseTrue

 

 

 

 

Tại sao chúng ta lại sử dụng NOT NULL?

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

Giá trị NOT NULL

Giả sử rằng chúng ta muốn tạo một bảng mới với với các trường nhất định mà luôn phải được cung cấp các giá trị khi chèn những hàng mới vào 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.

Từ khóa NULL/ NOT NULL trong SQL

NULL có thể còn được sử dụng như một từ khóa khi thực thi các toán tử Boolean trên các giá trị có bao gồm NULL. Từ khóa “IS/NOT” được sử dụng cùng với từ NULL cho những mục đích này. Cú pháp đơn giản khi sử dụng NULL như một từ khóa như sau:

CREATE TABLE table_name (
    column_name1 data_type [NULL | NOT NULL],
    column_name2 data_type [NULL | NOT NULL],
    ...
);

Trong đó:

  • “IS NULL” là từ khóa thực hiện so sánh Boolean. Nó trả về true nếu giá trị cung cấp là NULL và trả về false nếu giá trị cung cấp không phải là NULL
  • “NOT NULL” là từ khóa thực hiện so sánh Boolean. Nó trả về true nếu giá trị cung cấp không phải là NULL và trả về false nếu giá trị cung cấp là NULL

Ví dụ 1: Tìm toàn bộ bản ghi có dữ liệu trống trong cột Postal Code trong bảng Geographic..

Để thực hiện yêu cầu trên, bạn hãy viết công thức sau:

select * from Geographic
where PostalCode is NULL

Cho chạy công thức trên, chúng ta sẽ thu được kết quả sau:

Từ khóa NULL/ NOT NULL trong SQL 1

Ví dụ 2: Tìm toàn bộ bản ghi có dữ liệu trống ở một trong hai cột Postal Code và StateProvinceCode trong bảng Geographic.

Ở ví dụ này, chúng ta sẽ sử dụng thêm với từ khóa OR trong SQL để kết hợp 2 điều kiện trong cùng một câu lệnh như sau:

select * from Geographic
where (StateProvinceCode IS NULL) OR (PostalCode IS NULL)

Cho chạy công thức, chúng ta sẽ thu được toàn bộ các bản ghi chứa các giá trị NULL ở cả hai trường StateProvinceCode và PostalCode.

Từ khóa NULL/ NOT NULL trong SQL 2

Tương tự, để tìm các bản ghi không chứa dữ liệu trống (NULL) thì bạn hãy thay thế nó bằng từ khóa NOT NULL trong câu lệnh nhé.

Tổng kết

Trên đây là hướng dẫn về NULL và NOT NULL trong SQL. Hy vọng nó sẽ giúp ích cho quá trình truy vấn dữ liệu trong SQL. 

Ngoài ra bạn có thể truy cập ngay https://gitiho.com/ để tìm hiểu thêm nhiều các khóa học hay về tin học văn phòng: Excel, Power Point, lập trình VBA, lập trình C#, SQL, thiết kế đồ họa… Có rất nhiều ưu đãi hấp dẫn đang chờ bạn.

Các bạn có thể tham khảo thêm các bài viết khác về cách sử dụng MySQL:

Hướng dẫn sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Hướng dẫn cách dùng mệnh đề WHERE trong MySQL

Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.

Đăng ký học thử để trải nghiệm ngay hôm nay!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông