在MySQL中,表的约束用于确保数据的完整性和一致性。以下是一些常见的表约束及其用法:
1. **PRIMARY KEY**:用于唯一标识表中的每一行。
```sql
CREATE TABLE Students (
StudentID INT NOT NULL,
Name VARCHAR(100),
PRIMARY KEY (StudentID)
);
```
2. **FOREIGN KEY**:用于在两个表之间建立关系。
```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中一些常见的表约束。