mysql 添加约束
时间: 2024-09-27 19:11:58 浏览: 54
添加约束条件-MySQL数据库基础教程
MySQL 中添加约束是为了保证数据的一致性和完整性。约束可以分为多种类型:
1. **主键约束 (Primary Key)**:用于唯一标识表中的每一行,不允许有重复值,且不能为空。在`CREATE TABLE`语句中使用`PRIMARY KEY`关键字。
```sql
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
```
2. **唯一约束 (Unique Key)**:允许字段中的值是唯一的,但可以为空。通常使用`UNIQUE`关键字创建。
```sql
CREATE TABLE emails (
email VARCHAR(100) UNIQUE
);
```
3. **外键约束 (Foreign Key)**:关联两个表之间的数据,保证引用关系的有效性。在子表中引用父表的主键,使用`FOREIGN KEY`。
```sql
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
```
4. **检查约束 (Check)**:设置特定列的条件,验证该列的值是否满足指定规则。
```sql
CREATE TABLE grades (
grade INT CHECK (grade BETWEEN 0 AND 100)
);
```
5. **默认约束 (Default)**:为某些列指定默认值,如果插入时不提供,则使用这个默认值。
```sql
CREATE TABLE employees (
salary DECIMAL(10, 2) DEFAULT 5000.00
);
```
6. **NOT NULL 约束**:指明某个字段不允许存储NULL值。
```sql
CREATE TABLE addresses (
street VARCHAR(100) NOT NULL
);
```
使用`ALTER TABLE`命令也可以在表创建后添加约束。例如,如果你想要向已存在的表添加主键约束:
```sql
ALTER TABLE students ADD PRIMARY KEY (id);
```
阅读全文