Hướng dẫn mysql date not null - ngày mysql không null

Nội dung chính

  • 1 Giá trị NULL Giá trị NULL
  • 2 NOT là gì? NOT là gì?
  • 3 Tại sao chúng ta lại sử dụng NOT NULL? Tại sao chúng ta lại sử dụng NOT NULL?
  • 4 Giá trị NOT NULL Giá trị NOT NULL
  • 5 Từ khóa NULL Từ khóa NULL
  • 6 So sánh các giá trị NULL So sánh các giá trị NULL
  • 7 Tổng kết Tổng kết

Trong MySQL, NULL vừa là giá trị và vừa là từ khóa.

Hướng dẫn mysql date not null - ngày mysql không null

Giá trị NULL

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.

Hướng dẫn mysql date not null - ngày mysql không null

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

Bây giờ chúng ta sẽ đi chứng minh rằng các hàm đếm xử lý các giá trị NULL. Bạn có thể tải dữ liệu “myflixdb” tại đây để thực hiện trong MySQL:

https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k

Thực hiện câu truy vấn sau để xem nội dung hiện tại của bảng members trong  “myflixdb”:

Hướng dẫn mysql date not null - ngày mysql không null

Kết quả sẽ hiện ra như sau:

Hướng dẫn mysql date not null - ngày mysql không null

Đếm số lượng tất cả các thành viên đã cập nhật số liên lạc của họ:

Hướng dẫn mysql date not null - ngày mysql không null

Thực hiện truy vấn trên cho ra kết quả sau:

Hướng dẫn mysql date not null - ngày mysql không null

Lưu ý: Giá trị NULL đã không được tính vào kết quả trên. 

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ện Kết quả toán tử NOT
True False
False True

False

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.

Hướng dẫn mysql date not null - ngày mysql không null

Ví dụ bên dưới tạo một bảng mới chứa dữ liệu của nhân viên. Mã số nhân viên (employee_number) luôn phải được cung cấp.

Hướng dẫn mysql date not null - ngày mysql không null

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

Hướng dẫn mysql date not null - ngày mysql không null

Thực thi câu lệnh trên trong MySQL sẽ hiển thị lỗi sau:

Từ khóa NULL

Hướng dẫn mysql date not null - ngày mysql không null

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:

  • 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

Hãy xem xét một ví dụ sử dụng từ khóa NOT NULL để loại bỏ tất cả cột có giá trị là NULL

Hướng dẫn mysql date not null - ngày mysql không null

Giả sử chúng ta cần chi tiết về những thành viên có số liên lạc không phải là NULL. Thực hiện câu truy vấn sau:

Thực hiện câu lệnh trên sẽ cho ra các bản ghi trong đó số liên lạc không phải là NULL.

Hướng dẫn mysql date not null - ngày mysql không null

Trong trường hợp chúng ta muốn hồ sơ các thành viên có số liên lạc là NULL. Có thể sử dụng truy vấn sau:

Hướng dẫn mysql date not null - ngày mysql không null

Kết quả sẽ hiện ra trong MySQL:

So sánh các giá trị NULL

Ba giá trị logic – thực hiện các toán tử Boolean trong các điều kiện liên quan đến NULL có thể trả về “Unknown”, “True” hoặc “False”.

Ví dụ, sử dụng từ khóa “IS NULL” khi thực hiện các toán tử so sánh liên quan đến NULL có thể trả về true hoặc false. Sử dụng những toán tử so sánh không liên quan đến NULL trả về “Unknown”(NULL)

Hướng dẫn mysql date not null - ngày mysql không null

Giả sử bạn đang so sánh 5 với 5:

Hướng dẫn mysql date not null - ngày mysql không null

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

Hướng dẫn mysql date not null - ngày mysql không null
Hướng dẫn mysql date not null - ngày mysql không null

Làm điều này tương tự với NULL:

Hướng dẫn mysql date not null - ngày mysql không null
Hướng dẫn mysql date not null - ngày mysql không null

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

Kết quả trả về là 0 có nghĩa là FALSE.

Hướng dẫn mysql date not null - ngày mysql không null
Hướng dẫn mysql date not null - ngày mysql không null

Làm tương tự với NULL:

Hướng dẫn mysql date not null - ngày mysql không null
Hướng dẫn mysql date not null - ngày mysql không null

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

Hướng dẫn mysql date not null - ngày mysql không null
Hướng dẫn mysql date not null - ngày mysql không null

Giả sử bạn đang so sánh 5 với 5:

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

  • Làm điều này tương tự với NULL:
  • Hãy xem xét các ví dụ khác:
  • Toán tử NOT được dùng để kiểm tra các giá trị Boolean và đánh giá true nếu giá trị Boolean là sai và false nếu giá trị Boolean là đúng.
  • Mệnh đề NOT NULL được sử dụng để loại bỏ các giá trị NULL khỏi tập kết quả.
  • Thực hiện các phép toán số học trên giá trị NULL luôn luôn trả về kết quả NULL.
  • Toán tử so sánh như là [>,=,…] không thể được dùng để so sánh các giá trị NULL.

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âu lệnh DELETE trong MySQL và ví dụ minh họa

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