TopDev

Ràng buộc NOT NULL trong MySQL và lợi ích

minhdev 📖 2 phút đọc

Trong MySQL, ràng buộc NOT NULL được sử dụng để đảm bảo rằng một cột trong bảng không chấp nhận giá trị NULL. Điều này có nghĩa là mỗi hàng trong bảng phải có giá trị cho cột này, không được phép để trống.

Cú pháp để định nghĩa ràng buộc NOT NULL#

Khi tạo bảng (CREATE TABLE):

CREATE TABLE table_name ( column1 datatype NOT NULL, column2 datatype, ... );

Ví dụ, trong bảng users, cột username không được phép để trống:

CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) );

Thêm ràng buộc NOT NULL vào cột đã tồn tại (ALTER TABLE):

ALTER TABLE table_name MODIFY COLUMN column_name datatype NOT NULL;

Ví dụ, để thêm ràng buộc NOT NULL vào cột email trong bảng users:

ALTER TABLE users MODIFY COLUMN email VARCHAR(100) NOT NULL;

Lợi ích của ràng buộc NOT NULL#

  • Đảm bảo tính nhất quán và toàn vẹn dữ liệu: Bảo đảm rằng mỗi hàng trong bảng có giá trị cho các cột không được phép để trống.

  • Ngăn ngừa lỗi dữ liệu: Loại bỏ khả năng chấp nhận giá trị NULL, giúp tránh các lỗi dữ liệu do thiếu thông tin quan trọng.

  • Cải thiện hiệu suất truy xuất dữ liệu: Các chỉ mục và các quá trình tối ưu hóa truy vấn có thể được sử dụng hiệu quả hơn khi không cần xử lý giá trị NULL.

Lưu ý khi sử dụng ràng buộc NOT NULL#

  • Không áp dụng cho giá trị mặc định (DEFAULT): Nếu bạn cần một giá trị mặc định cho cột, bạn phải chỉ định giá trị mặc định khi định nghĩa cột, không thể kết hợp giá trị mặc định với ràng buộc NOT NULL.

  • Thay đổi dữ liệu có sẵn: Khi thêm ràng buộc NOT NULL vào một cột đã có dữ liệu, bạn cần chắc chắn rằng tất cả các hàng hiện có cũng có giá trị cho cột này, nếu không sẽ xảy ra lỗi.

Ràng buộc NOT NULL là một trong những công cụ quan trọng trong thiết kế cơ sở dữ liệu để đảm bảo tính toàn vẹn và nhất quán của dữ liệu. Nó giúp cải thiện chất lượng dữ liệu và giúp đảm bảo tính đúng đắn của hệ thống khi xử lý dữ liệu trong MySQL.

Bài liên quan trong #Database

✓ Đã sao chép link