Ràng buộc NOT NULL trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng ràng buộc NOT NULL trong SQL Server để đảm bảo một cột không chứa dữ liệu NULL.

Giới thiệu về ràng buộc NOT NULL trong SQL Server

Ràng buộc NOT NULL của SQL Server chỉ định rằng một cột không được chứa dữ liệu NULL.

Ví dụ sau tạo ra một bảng với ràng buộc NOT NULL cho các cột: first_name, last_nameemail:

CREATE SCHEMA hr;
GO

CREATE TABLE hr.persons(
    person_id INT IDENTITY PRIMARY KEY,
    first_name VARCHAR(255) NOT NULL,
    last_name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    phone VARCHAR(20)
);
Lưu ý: ràng buộc NOT NULL luôn được viết dưới dạng các ràng buộc cột.

Theo mặc định, nếu bạn không chỉ định ràng buộc NOT NULL, SQL Server sẽ cho phép cột chấp nhận giá trị NULL. Trong ví dụ này, cột phone có thể chấp nhận giá trị NULL.

Thêm ràng buộc NOT NULL vào một cột hiện có trong SQL Server

Để thêm ràng buộc NOT NULL vào cột hiện có, bạn làm theo các bước sau:

Đầu tiên, hãy cập nhật bảng để không có giá trị NULL trong cột:

UPDATE table_name
SET column_name = <value>
WHERE column_name IS NULL;

Tiếp theo, thay đổi bảng để tạo ràng buộc NOT NULL cho cột:

ALTER TABLE table_name
ALTER COLUMN column_name data_type NOT NULL;

Ví dụ: để thêm ràng buộc NOT NULL vào cột phone của bảng hr.persons, bạn sử dụng các câu lệnh sau:

Trước tiên, nếu một người không có số điện thoại, thì hãy cập nhật số điện thoại thành số điện thoại của công ty chẳng hạn, ví dụ: (408) 123 4567:

UPDATE hr.persons
SET phone = "(408) 123 4567"
WHER phone IS NULL;

Tiếp theo, sửa đổi thuộc tính của cột phone:

ALTER TABLE hr.persons
ALTER COLUMN phone VARCHAR(20) NOT NULL;

Loại bỏ ràng buộc NOT NULL trong SQL Server

Để loại bỏ ràng buộc NOT NULL khỏi một cột, bạn sử dụng câu lệnh ALTER TABLE ALTER COLUMN như sau:

ALTER TABLE table_name
ALTER COLUMN column_name data_type NULL;

Ví dụ, để loại bỏ ràng buộc NOT NULL khỏi cột phone, bạn sử dụng câu lệnh sau:

ALTER TABLE hr.pesons
ALTER COLUMN phone VARCHAR(20) NULL;

Trong hướng dẫn này, bạn đã học cách sử dụng ràng buộc NOT NULL trong SQL Server để đảm bảo một cột không chứa dữ liệu NULL.

SQL ServerĐịnh nghĩa dữ liệu trong SQL Server
Bài Viết Liên Quan:
GUID trong SQL Server
Trung Nguyen 12/03/2022
GUID trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.

Kiểu dữ liệu DATETIMEOFFSET trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu DATETIMEOFFSET trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.

Kiểu dữ liệu TIME trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu TIME trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME trong SQL Server.

Kiểu dữ liệu DATE trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu DATE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.