Ràng buộc SQL NOT NULL – SQL NOT NULL Constraint

SQL NOT NULL là một constraint (ràng buộc) dữ liệu trong SQL được sử dụng để đảm bảo rằng một cột trong bảng không thể chứa giá trị NULL.

not null cons

Cú pháp:

  1. Khi tạo bảng:
CREATE TABLE table_name (
  column1 data_type NOT NULL,
  column2 data_type,
  ...
);
  1. Khi thay đổi bảng:
ALTER TABLE table_name MODIFY column_name data_type NOT NULL;

 Giải thích:

  • table_name: Tên của bảng.
  • column_name: Tên của cột muốn áp dụng constraint.
  • data_type: Kiểu dữ liệu của cột.

Ưu điểm của việc sử dụng constraint NOT NULL:

  • Bảo đảm tính toàn vẹn dữ liệu: Ngăn chặn việc lưu trữ các giá trị NULL trong cột, giúp dữ liệu nhất quán và chính xác hơn.
  • Cải thiện hiệu suất truy vấn: Cho phép tối ưu hóa các truy vấn bằng cách loại bỏ các hàng có chứa giá trị NULL trong cột được áp dụng constraint.
  • Hỗ trợ các ràng buộc khác: Có thể là nền tảng cho các ràng buộc khác, chẳng hạn như UNIQUE (duy nhất) và PRIMARY KEY (khóa chính).

Lưu ý:

  • Cột được áp dụng constraint NOT NULL vẫn có thể chứa giá trị rỗng (empty string, empty array) tùy thuộc vào kiểu dữ liệu.
  • Bạn có thể sử dụng các hàm như ISNULL hoặc COALESCE để xử lý các giá trị rỗng trong cột NOT NULL.

Ví dụ:

--Tạo bảng Customers với cột Email bắt buộc phải có giá trị:
CREATE TABLE Customers (
  CustomerID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  FirstName varchar(255) NOT NULL,
  LastName varchar(255) NOT NULL,
  Email varchar(255) NOT NULL UNIQUE
);

--Thêm constraint NOT NULL cho cột Age trong bảng Employees:
ALTER TABLE Employees MODIFY Age int NOT NULL;

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận