MYSQL数据库表创建※
时间: 2024-12-30 07:34:23 浏览: 6
### 如何创建 MySQL 数据库表
#### 创建数据库
在开始创建表之前,通常先要创建一个用于容纳这些表的数据库。这可以通过 `CREATE DATABASE` 语句来完成[^2]。
```sql
CREATE DATABASE mydb;
```
这条命令会建立名为 `mydb` 的新数据库实例,在其中可以定义多个表格和其他对象。
#### 使用已有的数据库
如果已经存在目标数据库,则需要通过 `USE` 命令指定当前工作环境下的默认数据库:
```sql
USE mydb;
```
此操作使得后续所有的 SQL 指令都将在选定的数据库上下文中执行。
#### 设计并创建表结构
当准备就绪之后就可以着手构建实际的数据表了。设计阶段应当仔细规划每一列的目的及其属性,比如名称、数据类型以及任何必要的约束条件等。以下是创建一张简单员工信息表的例子:
```sql
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100) UNIQUE NOT NULL,
hire_date DATE DEFAULT CURRENT_DATE(),
salary DECIMAL(8, 2)
);
```
上述代码片段展示了如何声明各字段的具体参数设置:
- `INT`: 整数型;这里作为主键自动增长。
- `VARCHAR(n)`: 可变长度字符串,括号内指明最大字符数量。
- `UNIQUE`: 确保该列中的每一个值都是独一无二的。
- `NOT NULL`: 表示不允许为空白项。
- `DEFAULT`: 设置缺省值,如果没有提供具体数值则采用设定好的默认值填充。
- `DECIMAL(m,n)`: 定义十进制浮点数,m代表总位数而n表示小数部分所占位数。
#### 添加外键约束
为了维护不同表之间的关系一致性,还可以引入外键(Foreign Key)。例如,假设有一个部门表 (`departments`) 和上面提到过的雇员表 (`employees`) ,那么可以在后者中加入对外部参照的支持以反映两者间的隶属关联:
```sql
ALTER TABLE employees
ADD COLUMN dept_id INT;
ALTER TABLE employees
ADD CONSTRAINT fk_dept
FOREIGN KEY (dept_id) REFERENCES departments(dept_id);
```
这段脚本先是给 `employees` 表新增了一个整数类型的列用来保存所属部门编号,接着利用 `ALTER TABLE...ADD CONSTRAINT` 来施加相应的外键规则,从而确保每条记录里的 `dept_id` 都能对应到合法存在的某个部门实体上[^3]。
---
阅读全文