介紹
MySQL約束語句是一種用于控制關系型數據庫數據完整性的語句。在創建或修改表結構時使用約束可以保證數據的準確性及規范性,并且能夠防止用戶不小心誤操作數據庫導致數據錯誤。
常見的約束語句
MySQL中常見的約束語句包括:PRIMARY KEY、UNIQUE、FOREIGN KEY、CHECK和DEFAULT。
PRIMARY KEY
PRIMARY KEY約束用于唯一標識一條記錄。在一個表中只能定義一個PRIMARY KEY約束。
例如:
CREATE TABLE Students (
ID INT NOT NULL,
Name VARCHAR(20) NOT NULL,
PRIMARY KEY (ID)
);
UNIQUE
UNIQUE約束保證一列中的所有值都是唯一的。一個表可以有多個UNIQUE約束。
例如:
CREATE TABLE Employees (
ID INT NOT NULL,
Name VARCHAR(20) NOT NULL,
Email VARCHAR(50) UNIQUE,
Salary DECIMAL(10,2),
PRIMARY KEY (ID)
);
FOREIGN KEY
FOREIGN KEY約束用于保證外鍵和參照表的主鍵相同。在一個表中可以定義多個FOREIGN KEY約束。
例如:
CREATE TABLE Orders (
OrderID INT NOT NULL,
ProductID INT NOT NULL,
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
CHECK
CHECK約束用于檢查一列的值是否符合指定的條件。一個表可以有多個CHECK約束。
例如:
CREATE TABLE Students (
ID INT NOT NULL,
Name VARCHAR(20) NOT NULL,
Age INT CHECK (Age>=18 AND Age<=25),
PRIMARY KEY (ID)
);
DEFAULT
DEFAULT約束用于在插入新記錄時指定某一列的默認值。一個表可以有多個DEFAULT約束。
例如:
CREATE TABLE Employees (
ID INT NOT NULL,
Name VARCHAR(20) NOT NULL,
Email VARCHAR(50) UNIQUE,
Salary DECIMAL(10,2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);
總結
使用約束語句可以有效地控制數據庫數據的完整性,并保證數據的正確性和規范性。在實際使用中,根據需要選擇不同的約束語句,從而保證數據庫的高效運行。