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
Bài Viết Liên Quan:
Sequence trong SQL Server
Trung Nguyen 31/07/2021
Sequence trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu về các đối tượng Sequence trong SQL Server để tạo ra một chuỗi các giá trị số dựa trên một đặc tả cụ thể.

Cột Identity trong SQL Server
Trung Nguyen 30/07/2021
Cột Identity trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng thuộc tính IDENTITY trong SQL Server để thêm cột định danh vào bảng.

CREATE TABLE trong SQL Server
Trung Nguyen 29/07/2021
CREATE TABLE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh CREATE TABLE trong SQL Server để tạo một bảng mới.

Ràng buộc UNIQUE trong SQL Server
Trung Nguyen 27/07/2021
Ràng buộc UNIQUE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng ràng buộc UNIQUE trong SQL Server để đảm bảo tính duy nhất của dữ liệu.