Module 03 · MySQL and PostgreSQL
Populating MySQL Databases and Tables填充 MySQL 数据库与表
作为数据工程师或数据库管理员(DBA),填充数据库和表是一项核心任务。通过本指南,您将掌握 MySQL 的备份与恢复、小批量及大批量数据的加载方法,以及如何将数据导出为 CSV 文件。
一、备份与恢复 (Backup and Restore)
备份现有数据库并将其还原至新目的地是迁移数据的常用方法。
1. 使用命令行工具mysqldump
mysqldump 可将数据库备份为 .sql 文件,该文件包含重建数据库内容所需的所有 SQL 语句。
- 备份命令示例:
mysqldump -u root employees > employeesbackup.sql-u:指定用户名(如root)。employees:数据库名称。employeesbackup.sql:生成的备份文件名。- 特定表备份:若只需备份特定表,请在数据库名称后列出表名。
- 恢复命令示例:
mysql -u root employees < employeesbackup.sql- 符号含义:
>(大于号):表示输出到.sql文件,即备份。<(小于号):表示从文件输入到数据库,即恢复。
- 符号含义:
2. 使用 MySQL 命令提示符
如果您已登录 MySQL 命令行,可以使用以下命令:
source命令:source [备份文件路径]。- 此方法不仅用于还原转储文件,也可用于执行任何 SQL 脚本文件。
3. 使用 phpMyAdmin 可视化工具
- 导出 (备份):在树状视图中选择数据库 ➡️ 进入 “导出 (Export)” 选项卡 ➡️ 点击 “执行 (Go)”。默认生成的 SQL 文件包含重建数据库所需的完整脚本。
- 导入 (恢复):选择目标数据库 ➡️ 进入 “导入 (Import)” 选项卡 ➡️ 浏览定位备份文件 ➡️ 点击 “执行 (Go)”。
二、小批量数据的填充
如果您只需要填充个别表中的少量行,而非整个数据库,可以使用以下方法:
- 手动输入:在 phpMyAdmin 的 “插入 (Insert)” 选项卡中手动输入数据,然后点击 “执行 (Go)”。
- 提示:默认一次可输入两行,但您可以根据需要增减。
- SQL 语句:运行单个
INSERT语句。 - 查看数据:输入完成后,可在 “浏览 (Browse)” 选项卡中查看结果。
三、大批量数据的加载 (Import)
手动输入适合少量数据,但对于海量行,使用导入功能更高效。
1. 命令行导入
LOAD DATA INFILE语句:用于将 CSV 文件的内容导入现有的 MySQL 表。mysqlimport实用程序:mysqlimport [数据库名] [文件名.csv]- 注意:表名是从 CSV 文件名推断出来的,因此文件名必须与表名完全一致。
2. phpMyAdmin 可视化导入
- 进入 “导入 (Import)” 选项卡 ➡️ 点击 “浏览” 选择文件 ➡️ 确认文件格式(如 CSV)和选项 ➡️ 点击 “执行 (Go)”。
- 限制:此方法通常一次支持导入最高 2MB 的数据。
四、数据导出为 CSV
如果您需要保存表数据供外部使用,可以将其导出为 CSV 格式。
- 操作步骤 (phpMyAdmin):
- 进入 “导出 (Export)” 选项卡。
- 将格式更改为 “CSV”。
- (可选)指定要导出的特定行。
- 点击 “执行 (Go)”。
总结回顾
| 任务类型 | 命令行工具 | phpMyAdmin 功能 |
|---|---|---|
| 全库迁移 | mysqldump & mysql |
导出 (Export) & 导入 (Import) 选项卡 |
| 小批量填充 | INSERT 语句 |
插入 (Insert) 选项卡手动输入 |
| 大批量 CSV 导入 | LOAD DATA INFILE 或 mysqlimport |
导入 (Import) 选项卡 (限 2MB) |
| 保存为文件 | 重定向输出 > |
导出 (Export) 选项卡 (选择 CSV 格式) |