Thứ Năm, 1 Tháng Mười Hai 2022
Trang chủPHP & MysqlMySQLCách sử dụng ràng buộc NOT NULL trong MySQL - NOT NULL...

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

Ràng buộc NOT NULL là loại ràng buộc được sử dụng phổ biến của MySQL. Vì vậy để làm việc với MySQL bạn nên biết và nắm rõ cách sử dụng ràng buộc này.

Ràng buộc NOT NULL trong MySQL

Trong MySQL, mặc định mỗi cột có thể chứa các giá trị là giá trị NULL(không có gì).

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(record) mới hay cập nhật một bản ghi mà không thêm một giá trị vào trường này (tức là bắt buộc không được để trống trường này).

Cách tạo ràng buộc NOT NULL

Có hai cách để tạo ràng buộc NOT NULL, cách thứ nhất là thêm ràng buộc vào ngay khi tạo bảng lần đầu trong câu lệnh CREATE TABLE. Cách thứ hai để tạo ràng buộc là khi bảng đã có sẵn, ta sẽ thêm hoặc sửa rằng buộc bằng cách sử dụng câu lệnh ALTER TABLE.

  • Thêm rằng buộc khi tạo bảng

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, còn lại cột Age thì được phép.

CREATE TABLE Persons (
    id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);

Chạy lệnh này để tạo bảng, sau đó hãy thử kiểm tra bằng cách thêm giá trị vào các dòng của bảng và thử để NULL các trường này xem sao.

Câu lệnh chèn dữ liệu vào bảng persons

INSERT INTO `persons`(`id`, `LastName`, `FirstName`, `Age`)
VALUES (NULL,NULL,NULL,NULL)

Như vậy khi chèn dữ liệu vào bảng MySQL sẽ báo lỗi ngay là trường id không được phép để rỗng.

Cách sử dụng ràng buộc NOT NULL trong MySQL - NOT NULL MySQL
  • Thêm ràng buộc vào trường khi bảng đã có sẵn

Với ví dụ ta đã tạo bảng ở bên trên, cột Age vẫn chưa có ràng buộc, chúngcó 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;

Okay, như vậy là ta đã tạo thành công ràng buộc NOT NULL cho cột Age. Để kiểm tra bây giờ hãy thử chèn một bản ghi(dòng) vào bảng, các cột khác hãy chèn dữ liệu vào, riêng cột Age để NULL xem có báo lỗi không nhé.

>>XEM THÊM: Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL

Câu điều kiện với ràng buộc NOT NULL

Câu ràng buộc NOT NULL cũng có thể được sử dụng trong mệnh đề điều kiện để có thể truy vấn được các hàng dữ liệu mà loại bỏ đi các hàng với cột có giá trị với null.

Ví dụ mình có bảng users như bên dưới.

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

Bây giờ để select ra được các user nhưng phải loại bỏ đi các user không có tên(trường name là NULL), viết câu lệnh SQL như sau.

SELECT * FROM `users`
WHERE name IS NOT NULL;

Kết quả khi chạy câu lệnh, các hàng có name là null đã bị loại bỏ khi select.

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

>>XEM THÊM: Toán tử số học trong MySQL – Phép toán trong MySQL

CẢM ƠN BẠN ĐÃ ĐỌC HẾT BÀI VIẾT! CHÚC BẠN HỌC TỐT!

XEM THÊM
Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
Toán tử so sánh trong MySQL – So sánh bằng, lớn hơn, nhỏ hơn
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x