- Giới thiệu SQL
- SQL là gì
- Các khái niệm RDBMS
- Database là gì
- Cú pháp SQL cơ bản
- Kiểu dữ liệu
- Toán tử
- Biểu thức (Expression)
- Lệnh Create Database
- Lệnh Drop Database
- Lệnh Select Database
- Lệnh Rename Database
- Lệnh Create Table
- Lệnh Drop Table
- Lệnh Delete Table
- Lệnh Rename Table
- Lệnh Truncate Table
- Lệnh ALter Table
- Sao chép bảng
- Bảng tạm (Temp Table)
- Truy vấn Update
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Order By
- Mệnh đề Group By
- Từ khóa Distinct
- Sắp xếp kết quả
- Mệnh đề Where
- Mệnh đề AND & OR
- Mệnh đề WITH
- Mệnh đề Like
- Mệnh đề Top
- Mệnh đề Union
- Giá trị NULL
- Cú pháp Alias
- Chỉ mục (Index)
- Sử dụng View
- Mệnh đề Having
- SQL Transaction
- Toán tử Wildcard
- Truy vấn con
- Sử dụng Sequence
- Xử lý bản sao
- SQL Injection
- Ràng buộc (Constraint)
- Ràng buộc NOT NULL
- Ràng buộc DEFAULT
- Ràng buộc UNIQUE
- Ràng buộc PRIMARY KEY
- Ràng buộc FOREIGN KEY
- Ràng buộc CHECK
- Ràng buộc INDEX
- Sử dụng Join
- Inner Join
- Left Join
- Right Join
- Full Join
- Self Join
- Cartesian Join
- Hàm hữu ích
- Hàm xử lý Date
- Hàm xử lý chuỗi
- Hàm xử lý số
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Tuning DB
- Tài liệu SQL tham khảo
Ràng buộc CHECK trong SQL
Ràng buộc CHECK cho phép một điều kiện để kiểm tra giá trị đang được nhập vào một bản ghi. Nếu điều kiện được ước lượng là false, thì bản ghi vi phạm ràng buộc này và không được nhập vào trong bảng.
Ví dụ
Ví dụ sau tạo một bảng mới với tên SINHVIEN và thêm 5 cột. Ở đây, chúng ta thêm một ràng buộc CHECK cho cột TUOI, để bảng không nhận bất kỳ dữ liệu nào mà dưới 18 tuổi.
CREATE TABLE SINHVIEN( ID INT NOT NULL, TEN VARCHAR (20) NOT NULL, TUOI INT NOT NULL CHECK (TUOI >= 18), KHOAHOC CHAR (25) , HOCPHI DECIMAL (18, 2), PRIMARY KEY (ID) );
Nếu bảng đã được tạo, thì để thêm một ràng buộc CHECK cho cột TUOI, bạn viết lệnh tương tự như:
ALTER TABLE SINHVIEN MODIFY TUOI INT NOT NULL CHECK (TUOI >= 18 );
Bạn có thể sử dụng cú pháp sau, mà hỗ trợ việc đặt ràng buộc trong nhiều cột:
ALTER TABLE SINHVIEN ADD CONSTRAINT myCheckConstraint CHECK(TUOI >= 18);
Xóa một ràng buộc CHECK trong SQL
Để xóa một ràng buộc CHECK trong SQL, bạn sử dụng cú pháp sau. Cú pháp này không làm việc trong MySQL.
ALTER TABLE SINHVIEN DROP CONSTRAINT myCheckConstraint;
rang_buoc_trong_sql