[SQL Server] Ràng buộc Check trong SQL
Bài này bạn sẽ được học cách tạo ràng buộc giá trị trong SQL bằng lệnh CHECK, cách viết nó thông qua các hệ quản trị CSDL như SQL Server, MySQL và Oracle.
Ràng buộc giá trị CHECK rất hữu ích trong việc đảm bảo tính toàn vẹn của dữ liệu. Ví dụ bạn muốn điểm số của học sinh phải nằm trong khoảng [0-10], hoặc giới tính là Năm hoặc Nữ, và nhiều trường hợp tương tự thì có thể sử dụng ràng buộc CHECK.
Nội dung chính
- 1. Tạo ràng buộc CHECK trong lệnh CREATE TABLE
- 2. Tạo ràng buộc CHECK trong lệnh ALTER TABLE
- 3. Xóa ràng buộc CHECK ra khỏi table
1. Tạo ràng buộc CHECK trong lệnh CREATE TABLE
- MySQL1234567
CREATETABLEPersons (IDintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Ageint,CHECK(Age>=18));123456CREATETABLEPersons (IDintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),AgeintCHECK(Age>=18));Trường hợp bạn có nhiều column sử dụng CHECK thì nên đặt nó ở cuối các column trong lệnh tạo bảng, dùng toán tử AND để nối các ràng buộc lại. Cách này rất hay vì ta có thể đặt tên cho CHECK.12345678CREATETABLEPersons (IDintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Ageint,Cityvarchar(255),CONSTRAINTCHK_PersonCHECK(Age>=18ANDCity='Sandnes'));2. Tạo ràng buộc CHECK trong lệnh ALTER TABLE
Lệnh Alter Table được sử dụng rất nhiều trong việc thay đổi cấu trúc của table, và nó cũng được dùng để tạo CHECK sau khi bạn đã tạo xong table.12ALTERTABLEPersons<br>ADDCHECK(Age>=18);Tương tự như Primary Key và Foreign Key, bạn nên đặt tên cho CHECK để sau này có thể xóa nó dễ dàng hơn.12ALTERTABLEPersons<br>ADDCONSTRAINTCHK_PersonAgeCHECK(Age>=18ANDCity='Sandnes');3. Xóa ràng buộc CHECK ra khỏi table
Nếu bạn đã tạo CHECK rồi nhưng sau đó không muốn có ràng buộc đó nữa thì hãy sử dụng lệnh ALTER TABLE kết hợp với từ khóa DROP nhé.12ALTERTABLEPersonsDROPCONSTRAINTCHK_PersonAge;12ALTERTABLEPersonsDROPCHECKCHK_PersonAge;Vậy là xong, rất đơn giản và dễ hiểu.
Nhận xét
Đăng nhận xét