Coursera 笔记

Module 03 · MySQL and PostgreSQL

Populating MySQL Databases and Tables填充 MySQL 数据库与表

Coursera ↗

作为数据工程师或数据库管理员(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):
    1. 进入 “导出 (Export)” 选项卡。
    2. 将格式更改为 “CSV”。
    3. (可选)指定要导出的特定行。
    4. 点击 “执行 (Go)”。

总结回顾

任务类型 命令行工具 phpMyAdmin 功能
全库迁移 mysqldump & mysql 导出 (Export) & 导入 (Import) 选项卡
小批量填充 INSERT 语句 插入 (Insert) 选项卡手动输入
大批量 CSV 导入 LOAD DATA INFILE 或 mysqlimport 导入 (Import) 选项卡 (限 2MB)
保存为文件 重定向输出 > 导出 (Export) 选项卡 (选择 CSV 格式)