Tự Học Sql Tìm Hiểu Về Ràng Buộc Check Và Default Trong Sql HttpsWwwBanhmihangxanhCom

Bài này cafedev san sẻ cho ace về cách sử dụng ràng buộc CHECK và DEFAULT trong SQL.

1. Ràng buộc KIỂM TRA(CHECK)

Ràng buộc CHECK được sử dụng để số lượng giới hạn khoanh vùng phạm vi giá trị hoàn toàn có thể được đặt trong một cột.

Bạn đang đọc: Tự Học Sql Tìm Hiểu Về Ràng Buộc Check Và Default Trong Sql HttpsWwwBanhmihangxanhCom

Nếu bạn định nghĩa ràng buộc KIỂM TRA(CHECK) trên một cột, nó chỉ cho phép các giá trị nhất định cho cột này.

Nếu bạn định nghĩa ràng buộc KIỂM TRA(CHECK) trên một bảng, nó có thể giới hạn các giá trị trong các cột nhất định dựa trên các giá trị trong các cột khác trong hàng.

  • SQL CHECK trong CREATE TABLE

SQL sau tạo ràng buộc KIỂM TRA(CHECK) trên cột “Age” khi bảng “Persons” được tạo. Ràng buộc KIỂM TRA(CHECK) đảm bảo rằng độ tuổi của một người phải từ 18 tuổi trở lên:

MySQL:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
); 

SQL Server / Oracle / MS Access:

/*
https://www.banhmihangxanh.com - Kênh thông tin IT số 1 Việt Nam
@author https://www.banhmihangxanh.com
Contact: https://[email protected]
Fanpage: https://www.facebook.com/https://www.banhmihangxanh.com
Group: https://www.facebook.com/groups/https://www.banhmihangxanh.com/
Instagram: https://instagram.com/https://www.banhmihangxanh.com
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/https://www.banhmihangxanh.com/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int CHECK (Age>=18)
); 

Để cho phép đặt tên cho ràng buộc CHECK và để xác định ràng buộc CHECK trên nhiều cột, hãy sử dụng cú pháp SQL sau:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='https://www.banhmihangxanh.com')
); 
  • SQL CHECK trong ALTER TABLE

Để tạo ràng buộc KIỂM TRA trên cột “Age” khi bảng đã được tạo, hãy sử dụng SQL sau:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (Age>=18); 

Để cho phép đặt tên cho ràng buộc CHECK và để xác định ràng buộc CHECK trên nhiều cột, hãy sử dụng cú pháp SQL sau:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes'); 
  • Xoá CHECK Constraint

Để vô hiệu ràng buộc KIỂM TRA, hãy sử dụng SQL sau:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL

ALTER TABLE Persons
DROP CHECK CHK_PersonAge; 

2. Ràng buộc DEFAULT

Ràng buộc DEFAULT được sử dụng để cung cấp giá trị mặc định cho một cột.

Xem thêm: Top 5 Free Database Diagram Design Tools Updated

Giá trị mặc định sẽ được thêm vào tất cả các tài liệu mới NẾU không có giá trị nào khác được chỉ định.

  • SQL DEFAULT trong CREATE TABLE

SQL sau đặt giá trị DEFAULT cho cột “City” khi bảng “Persons” được tạo:

My SQL / SQL Server / Oracle / MS Access:

/*
https://www.banhmihangxanh.com - Kênh thông tin IT hàng đầu Việt Nam
@author https://www.banhmihangxanh.com
Contact: https://[email protected]
Fanpage: https://www.facebook.com/https://www.banhmihangxanh.com
Group: https://www.facebook.com/groups/https://www.banhmihangxanh.com/
Instagram: https://instagram.com/https://www.banhmihangxanh.com
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/https://www.banhmihangxanh.com/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255) DEFAULT 'Sandnes'
); 

Ràng buộc DEFAULT cũng có thể được sử dụng để chèn các giá trị hệ thống, bằng cách sử dụng các hàm như GETDATE ():

CREATE TABLE Orders (
    ID int NOT NULL,
    OrderNumber int NOT NULL,
    OrderDate date DEFAULT GETDATE()
); 
  • SQL DEFAULT trong ALTER TABLE

Để tạo ràng buộc DEFAULT trên cột “City” khi bảng đã được tạo, hãy sử dụng SQL sau:

MySQL:

ALTER TABLE Persons
ALTER City SET DEFAULT 'HCM'; 

SQL Server:

ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'HCM' FOR City; 

MS Access:

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'HCM'; 

Oracle:

ALTER TABLE Persons
MODIFY City DEFAULT 'HCM'; 
  • Xoá DEFAULT Constraint

Để loại bỏ ràng buộc DEFAULT, hãy sử dụng SQL sau:

MySQL:

ALTER TABLE Persons
ALTER City DROP DEFAULT; 

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT; 

Full series tự học SQL từ cơ bản tới nâng cao tại đây nha.

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Xem thêm: Mua Bán Nhà Đất Van Phuc Riverside Residence Khu Dân Cư Vạn Phúc Ven Sông Quận Thủ Đức Tp Thủ Đức T92022

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!