MySQL通过约束(Constraint)来限制数据库表中的数据,保证数据的完整性和一致性。常见的约束包括:主键约束、唯一约束、非空约束和外键约束。
1. 主键约束(Primary Key Constraint):主键约束定义了一个表中的唯一标识符,用来唯一地标识每一条记录。主键约束必须满足以下要求:
- 每个表只能有一个主键约束。
- 主键约束的值不能为NULL。
- 主键的值必须唯一且不可重复。
在创建表时可以通过以下语法定义主键约束:
```sql
CREATE TABLE 表名 (
列名 数据类型 PRIMARY KEY,
...
);
```
2. 唯一约束(Unique Constraint):唯一约束保证某一列或多列的值是唯一的,不允许重复。唯一约束必须满足以下要求:
- 每个表可以有多个唯一约束。
- 唯一约束的值可以为NULL,但是对于每一条记录,NULL只能出现一次。
在创建表时可以通过以下语法定义唯一约束:
```sql
CREATE TABLE 表名 (
列名 数据类型 UNIQUE,
...
);
```
3. 非空约束(Not Null Constraint):非空约束用于限制某一列的值不能为空。非空约束必须满足以下要求:
- 每个表可以有多个非空约束。
- 非空约束的值不能为NULL。
在创建表时可以通过以下语法定义非空约束:
```sql
CREATE TABLE 表名 (
列名 数据类型 NOT NULL,
...
);
```
4. 外键约束(Foreign Key Constraint):外键约束用于建立表与表之间的关联关系。外键约束必须满足以下要求:
- 外键约束可以将一个表的某一列与另一个表的主键或唯一约束进行关联。
- 外键约束的值必须在关联表中存在。
在创建表时可以通过以下语法定义外键约束:
```sql
CREATE TABLE 表名1 (
列名1 数据类型,
...
FOREIGN KEY (列名1) REFERENCES 表名2(列名2)
);
```
其中,列名1是当前表中的列,列名2是关联表中的列。
要注意的是,约束可以在创建表时定义,也可以在表创建后通过ALTER TABLE语句进行添加、删除或修改。
发表评论