SQL Not Null: Định Nghĩa và Ví Dụ
SQL (Structured Query Language) là ngôn ngữ tiêu chuẩn được sử dụng để quản lý và thao tác với cơ sở dữ liệu. Trong SQL, một trong những ràng buộc quan trọng khi định nghĩa các bảng là ràng buộc "NOT NULL". Ràng buộc này có tác dụng đảm bảo rằng một cột không được phép chứa giá trị NULL, tức là bắt buộc phải có giá trị.
Định Nghĩa
Ràng buộc "NOT NULL" được sử dụng trong định nghĩa bảng để chỉ ra rằng các cột nhất định không được phép có giá trị NULL. Điều này có nghĩa là khi bạn chèn một bản ghi vào bảng, bạn phải cung cấp giá trị cho các cột đó; nếu không, hệ thống sẽ từ chối yêu cầu chèn.
Cú Pháp
Cú pháp để sử dụng ràng buộc NOT NULL trong SQL có thể được trình bày như sau:
CREATE TABLE ten_bang ( cot1 DATATYPE NOT NULL, cot2 DATATYPE NOT NULL, cot3 DATATYPE );
Trong đó, cot1 và cot2 là các cột sẽ không cho phép có giá trị NULL, trong khi cot3 có thể có giá trị NULL.
Ví Dụ
Dưới đây là một ví dụ về cách sử dụng ràng buộc NOT NULL khi tạo bảng trong SQL:
CREATE TABLE KhachHang ( ID INT NOT NULL, Ten NVARCHAR(100) NOT NULL, DiaChi NVARCHAR(255), DienThoai NVARCHAR(15) NOT NULL, PRIMARY KEY (ID) );
Trong ví dụ này:
- Cột ID không cho phép giá trị NULL và được định nghĩa là khóa chính.
- Cột Ten cũng không cho phép giá trị NULL, đảm bảo rằng mỗi khách hàng đều phải có tên.
- Cột DiaChi có thể cho phép giá trị NULL, tức là nếu không có thông tin địa chỉ, vẫn có thể thêm khách hàng vào cơ sở dữ liệu.
- Cột DienThoai không cho phép giá trị NULL, vì số điện thoại là một thông tin quan trọng.
Chèn Dữ Liệu Với Ràng Buộc NOT NULL
Khi bạn chèn dữ liệu vào bảng có ràng buộc NOT NULL, bạn phải cung cấp giá trị cho các cột yêu cầu. Dưới đây là một ví dụ:
INSERT INTO KhachHang (ID, Ten, DiaChi, DienThoai) VALUES (1, 'Nguyen Van A', 'Ha Noi', '0123456789');
Nếu bạn cố gắng thực hiện một thao tác chèn mà không cung cấp giá trị cho cột NOT NULL, ví dụ như:
INSERT INTO KhachHang (ID, DiaChi, DienThoai) VALUES (2, 'Da Nang', '0987654321');
Bạn sẽ nhận được một thông báo lỗi do vi phạm ràng buộc NOT NULL.
Kết Luận
Ràng buộc NOT NULL là một phần quan trọng trong việc thiết kế cơ sở dữ liệu, giúp duy trì tính toàn vẹn và nhất quán của dữ liệu. Bằng cách sử dụng ràng buộc này, bạn có thể đảm bảo rằng các cột quan trọng trong bảng luôn có giá trị, từ đó giảm thiểu rủi ro và sai sót trong việc quản lý dữ liệu.