MARIADB
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Giá trị NULL trong MariaDB

Khi làm việc với giá trị NULL, cần nhớ rằng đây là những giá trị chưa xác định. Chúng không phải là chuỗi rỗng ('') hay số không (0), vì cả hai đều là những giá trị hợp lệ. Trong quá trình tạo bảng, có thể thiết lập một cột để chấp nhận hoặc từ chối giá trị NULL thông qua mệnh đề NULL hoặc NOT NULL. Điều này hữu ích khi xử lý các thông tin thiếu, chẳng hạn như số ID không có sẵn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Biến do người dùng tự định nghĩa sẽ mang giá trị NULL cho đến khi được gán giá trị cụ thể. Các tham số của thủ tục lưu trữ và biến cục bộ trong MariaDB cũng cho phép thiết lập giá trị NULL. Nếu biến cục bộ không có giá trị mặc định, nó sẽ nhận giá trị NULL.

Đặc điểm của NULL trong MariaDB

  • NULL là không phân biệt chữ hoa chữ thường.
  • Các alias phổ biến:
    • UNKNOWN (giá trị boolean)
    • \N

Các toán tử làm việc với NULL

Trong MariaDB, các toán tử so sánh thông thường (như =, >, >=, <=, <, hoặc !=) không thể sử dụng với giá trị NULL. Các so sánh với NULL sẽ trả về NULL thay vì TRUE hoặc FALSE. Để so sánh an toàn với NULL, sử dụng toán tử <=> (NULL-SAFE).

Các toán tử liên quan đến NULL:

Bài viết này được đăng tại [free tuts .net]

  • IS NULL: Kiểm tra xem giá trị có phải là NULL.
  • IS NOT NULL: Kiểm tra xem giá trị không phải là NULL.
  • ISNULL(): Trả về 1 nếu phát hiện giá trị NULL, và 0 nếu không phải NULL.
  • COALESCE(): Trả về giá trị không phải NULL đầu tiên trong danh sách hoặc NULL nếu tất cả giá trị đều là NULL.

Sắp xếp các giá trị NULL

Trong các phép sắp xếp, giá trị NULL thường được xem là giá trị nhỏ nhất. Do đó:

  • Nếu sắp xếp theo thứ tự giảm dần (DESC), NULL sẽ nằm ở cuối danh sách.
  • Trong MariaDB, bạn có thể tùy chỉnh giá trị NULL để sắp xếp theo cách khác.

Ví dụ:

SELECT column1 
FROM product_tbl 
ORDER BY ISNULL(column1), column1;

Hoặc:

SELECT column1 
FROM product_tbl 
ORDER BY IF(column1 IS NULL, 0, 1), column1 DESC;

Hàm xử lý NULL trong MariaDB

Hầu hết các hàm sẽ trả về NULL nếu bất kỳ tham số nào là NULL. Tuy nhiên, MariaDB cung cấp một số hàm được thiết kế riêng để xử lý NULL:

  • IFNULL(expr1, expr2): Nếu expr1 không phải NULL thì trả về giá trị của expr1, ngược lại trả về giá trị của expr2.
  • NULLIF(expr1, expr2): Nếu hai biểu thức bằng nhau, trả về NULL. Nếu không, trả về expr1.

Lưu ý:

  • Các hàm tổng hợp như SUM()AVG() sẽ bỏ qua giá trị NULL trong tính toán.

Chèn giá trị NULL

Khi chèn NULL vào một cột được khai báo là NOT NULL, MariaDB sẽ báo lỗi.

Ở chế độ mặc định của SQL, nếu chèn NULL vào cột NOT NULL, MariaDB sẽ tự động chèn giá trị mặc định của kiểu dữ liệu:

  • Với cột kiểu số: Chèn giá trị 0.
  • Với cột kiểu chuỗi: Chèn chuỗi rỗng ''.

Các cột đặc biệt:

  • AUTO_INCREMENT: Khi chèn NULL, số tiếp theo trong chuỗi tăng tự động sẽ được thêm vào.
  • TIMESTAMP: Tự động chèn dấu thời gian hiện tại.
  • Virtual Columns: Gán giá trị mặc định theo định nghĩa.

NULL trong các ràng buộc

  • UNIQUE: Có thể chứa nhiều giá trị NULL.
  • PRIMARY KEY: Không được phép chứa giá trị NULL.

ALTER Command với NULL

Khi sử dụng lệnh ALTER TABLE để thay đổi một cột, nếu không có khai báo cụ thể về NULL, MariaDB sẽ mặc định gán giá trị NULL hoặc NOT NULL dựa vào cấu hình hiện tại của cột.

Kết bài

Giá trị NULL đóng vai trò quan trọng trong quản lý dữ liệu chưa xác định hoặc thiếu thông tin trong MariaDB. Việc sử dụng đúng các toán tử và hàm xử lý NULL sẽ giúp cải thiện độ chính xác và hiệu quả trong truy vấn dữ liệu. Hãy luôn cẩn thận với cách NULL được so sánh, sắp xếp và chèn trong các bảng để tránh lỗi và duy trì tính nhất quán trong cơ sở dữ liệu.

Cùng chuyên mục:

Giao dịch (Transactions) trong MariaDB

Giao dịch (Transactions) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Mệnh đề WHERE trong MariaDB

Mệnh đề WHERE trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Select Database trong MariaDB

Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Cách kết nối trong MariaDB

Cách kết nối trong MariaDB

Cú pháp PHP trong  MariaDB

Cú pháp PHP trong MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn cài đặt MariaDB

Hướng dẫn cài đặt MariaDB

Top