mysql创建表约束
时间: 2024-09-18 14:17:27 浏览: 59
MySQL中的表约束是用来保证数据质量和完整性的重要工具,它们可以帮助我们在插入、更新或删除记录时防止不符合预设条件的数据操作。主要有几种常见的约束类型:
1. **主键约束**(Primary Key):每个表只能有一个,用于唯一标识每一行记录。主键字段值不能为空且不能重复。
2. **外键约束**(Foreign Key):关联两个表之间的键,确保引用的行存在于另一个表中。这通常用于建立表与表之间的关系。
3. **唯一约束**(Unique):确保某个列的值在整个表中是唯一的,但允许有NULL值。
4. **检查约束**(Check):设置特定表达式的验证规则,只有当该表达式结果为真时,数据才能插入或更新。
5. **默认约束**(Default):指定列的默认值,如果没有提供,则自动赋给该值。
6. **NOT NULL**:强制要求该列的值不能为NULL。
7. **唯一索引**(Unique Index):类似于唯一约束,但它可以包含空值。
在创建表时,可以在CREATE TABLE语句中使用`CONSTRAINT`关键字加上约束名称来添加这些约束。例如:
```sql
CREATE TABLE Students (
ID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
ClassName FOREIGN KEY (ClassNameID) REFERENCES Classes(ClassID),
Age INT CHECK(Age > 0)
);
```
阅读全文