在MySQL中怎么在创建数据表之后设置约束
时间: 2024-10-21 22:05:19 浏览: 82
在MySQL中,创建数据表并设置约束通常是在CREATE TABLE语句中完成的。以下是一些常见的约束类型以及如何在创建表时设置:
1. **主键约束** (Primary Key): 使用 `PRIMARY KEY` 关键字指定一列或一组列作为主键,保证唯一性和非空。例如:
```
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL
);
```
2. **唯一约束** (Unique): 使用 `UNIQUE` 关键字确保某列的值在整个表中是唯一的,可以有多个字段构成组合唯一键:
```
CREATE TABLE emails (
user_id INT,
email VARCHAR(100) UNIQUE,
PRIMARY KEY (user_id, email)
);
```
3. **外键约束** (Foreign Key): 当一个表引用另一个表的某个字段时,可以使用 `FOREIGN KEY` 和 `REFERENCES` 来确保关联完整性:
```
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
```
4. **检查约束** (Check): `CHECK` 可用于验证特定列的数据是否满足条件,比如年龄大于0:
```
CREATE TABLE employees (
age INT CHECK (age > 0),
... other columns ...
);
```
5. **默认值约束** (Default): 使用 DEFAULT 关键字为字段提供默认值:
```
CREATE TABLE products (
price DECIMAL(8,2) DEFAULT 0.00,
... other columns ...
);
```
6. **NOT NULL约束**: 确保字段不允许为空:
```
CREATE TABLE addresses (
street VARCHAR(100) NOT NULL,
city VARCHAR(50) NOT NULL
);
```
在创建表时,可以在相应的列定义后添加上述约束。每个约束都可以独立使用,也可以组合使用。
阅读全文