Cách sử dụng ràng buộc NOT NULL trong SQL

Ràng buộc NOT NULL là một trong số những loại ràng buộc được sử dụng phổ biến nhất của SQL. Vì thế, nếu bạn muốn sử dụng công cụ này để làm việc với dữ liệu, hãy chắc chắn bạn hiểu và biết cách sử dụng NOT NULL.

Tham khảo: Ràng buộc là gì trong SQL?

1. Ràng buộc NOT NULL trong SQL

Trong SQL, mặc định mỗi cột có thể chứa các giá trị NULL.

Ràng buộc NOT NULL sẽ không cho phép một cột chứa các giá trị NULL.

Điều này sẽ buộc một trường luôn chứa ít nhất một giá trị, có nghĩa là bạn không thể chèn bản ghi mới hay cập nhật một bảng ghi mà không thêm một giá trị vào trường này (để trống).

2. Cách tạo ràng buộc NOT NULL trong SQL

Có hai cách để tạo ràng buộc trong SQL, cách thứ nhất là thêm ràng buộc vào khi tạo bảng bằng câu lệnh CREATE TABLE. Cách thứ hai để tạo ràng buộc là sử dụng câu lệnh ALTER TABLE, cách này thường dùng để chỉnh sửa ràng buộc có sẵn hoặc thêm mới.

Tham khảo: Cách sử dụng câu lệnh ALTER TABLE trong SQL

Để thực hiện các ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:

Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio

  • Sử dụng CREATE TABLE

Câu lệnh SQL dưới đây sẽ tạo ra một bảng có tên là “Persons” với các trường ID, LastName, FirstName, Age. Trong đó, các cột ID, LastName, FirstName sẽ không cho phép giá trị NULL.

CREATE TABLE Persons (

    ID int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255) NOT NULL,

    Age int

);

Bây giờ, bạn đã có một bảng mới với ràng buộc NOT NULL như yêu cầu. Tiến hành kiểm tra bằng cách thêm giá trị vào các dòng của bảng.

Nếu có bất kỳ dòng nào chứa một giá trị NULL ở các cột bị ràng buộc NOT NULL, bạn sẽ nhận được thông báo lỗi như dưới đây

  • Sử dụng ALTER TABLE

Trong ví dụ trên, cột Age vẫn chưa có ràng buộc, bạn có thể thêm ràng buộc cho nó với câu lệnh ALTER TABLE như sau:

ALTER TABLE Persons

ALTER COLUMN Age int NOT NULL;

Bạn có thể tiến hành kiểm tra ràng buộc như trên bằng cách để giá trị ở cột Age là NULL và xem SQL có gửi thông báo lỗi hay không. Một cách khác để quản lý ràng buộc NOT NULL là nhấp chuột phải vào tên bảng và chọn Design.

Ở cột “Allow Nulls” nếu không đánh dấu tích có nghĩa là cột có ràng buộc NOT NULL và ngược lại.

Một lưu ý quan trọng đối với các mới tìm hiểu về dữ liệu, quy ước NULL và rỗng là khác nhau. Nghĩa là nếu ô bỏ trống thì gọi là rỗng, không phải NULL. Vì thế, nếu bạn để trống ô mà không nhập dữ liệu SQL vẫn chấp nhận chứ không báo lỗi. Bạn có thể hiểu đơn giản, null để chỉ không có gì còn rỗng để chỉ một chuỗi duy nhất có độ dài bằng không.

Qua bài viết này, mong rằng các bạn đã phần nào hiểu và có thể ứng dụng ràng buộc NOT NULL khi làm việc với dữ liệu trong SQL. Vẫn còn rất nhiều ràng buộc khác sẽ được BAC tổng hợp trong các nội dung lần sau, đừng quên đón đọc tại BAC’s Blog.

Nguồn tham khảo:

https://www.w3schools.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.

Tham khảo chương trình đào tạo: 

BAC – Biên soạn và tổng hợp nội dung

 

Previous Post
Next Post
Exit mobile version