在MySQL中,表的約束用于確保數(shù)據(jù)的完整性和一致性。以下是一些常見的表約束及其用法:
1. **PRIMARY KEY**:用于唯一標(biāo)識表中的每一行。
```sql
CREATE TABLE Students (
StudentID INT NOT NULL,
Name VARCHAR(100),
PRIMARY KEY (StudentID)
);
```
2. **FOREIGN KEY**:用于在兩個表之間建立關(guān)系。
```sql
CREATE TABLE Orders (
OrderID INT NOT NULL,
StudentID INT,
PRIMARY KEY (OrderID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID)
);
```
3. **UNIQUE**:確保列中的所有值都是唯一的。
```sql
CREATE TABLE Users (
UserID INT NOT NULL,
Email VARCHAR(100) UNIQUE,
PRIMARY KEY (UserID)
);
```
4. **NOT NULL**:確保列中的值不能為空。
```sql
CREATE TABLE Products (
ProductID INT NOT NULL,
ProductName VARCHAR(100) NOT NULL,
Price DECIMAL(10, 2),
PRIMARY KEY (ProductID)
);
```
5. **CHECK**:確保列中的值滿足特定條件。
```sql
CREATE TABLE Employees (
EmployeeID INT NOT NULL,
Age INT,
Salary DECIMAL(10, 2),
PRIMARY KEY (EmployeeID),
CHECK (Age >= 18 AND Salary > 0)
);
```
這些是MySQL中一些常見的表約束。