MYSQL建表约束
时间: 2025-06-15 08:47:51 浏览: 13
### 创建带约束的表
在 MySQL 中,`CREATE TABLE` 语句可以用来定义新表及其结构。通过指定不同的约束条件(Constraints),可以在数据库层面强制执行数据完整性规则。以下是常见的约束类型以及它们的应用方式:
#### 主键约束 (Primary Key Constraint)
主键用于唯一标识表中的每一行记录。它不允许重复值或 `NULL` 值。
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE
);
```
上述代码片段展示了如何设置一个名为 `id` 的字段为主键,并启用自动增长功能[^4]。
#### 非空约束 (NOT NULL Constraint)
此约束确保特定列始终包含有效值;即该列无法接受任何 `NULL` 输入。
```sql
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
full_name VARCHAR(100) NOT NULL
);
```
这里规定了员工姓名不能为空。
#### 默认值约束 (DEFAULT Constraint)
当向某列插入一条新纪录而未提供具体数值时,默认值会被采用。
```sql
CREATE TABLE products (
product_code INT PRIMARY KEY,
status TINYINT(1) DEFAULT 1 -- Active by default.
);
```
在这个例子中,如果用户没有显式设定状态,则默认为激活状态(`1`) .
#### 唯一性约束 (UNIQUE Constraint)
这种类型的约束防止同一张表格内的某个或者某些组合起来形成的关键字出现两次以上的相同条目。
```sql
CREATE TABLE emails (
user_id INT PRIMARY KEY,
address VARCHAR(255),
CONSTRAINT unique_email_address UNIQUE (address)
);
```
这段SQL命令设置了电子邮件地址必须独一无二的要求。
#### 外键约束 (Foreign Key Constraints)
外键是用来建立两个表之间关系的一种机制。它可以维持参照完整性(referential integrity),从而避免孤儿记录的存在。
```sql
CREATE TABLE orders (
order_number INT PRIMARY KEY,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ON DELETE CASCADE
);
```
上面的例子说明了一个订单关联到一位顾客的情况,并且还指定了级联删除操作的行为模式[^2]。
综上所述,在构建MySQL数据库架构过程中加入适当的数据验证措施是非常重要的一步骤。这些限制有助于保护应用程序免受不良输入的影响并保持整体系统的稳定性与一致性。
阅读全文
相关推荐


















