MySQL 导入数据

在本章节中,我们将深入探讨如何在 MySQL 中导入数据。这包括从不同的数据源导入数据,使用不同的方法和工具来确保数据正确且高效地导入数据库。

导入数据的常见场景

导入数据是数据库管理中的一个重要环节,尤其是在以下场景中:

  • 迁移数据:将数据从一个数据库迁移到另一个数据库。
  • 初始化数据库:在创建新数据库时,需要导入初始数据。
  • 更新数据:定期或不定期更新数据库中的数据。
  • 合并数据:从多个来源收集数据并合并到一个数据库中。

使用 SQL 文件导入数据

SQL 文件是一种常用的导入数据的方式,它包含了一系列的 SQL 语句,用于创建表结构和插入数据。

创建 SQL 文件

首先,你需要有一个 SQL 文件,这个文件通常由其他数据库导出生成,或者手动创建。例如,可以使用以下 SQL 语句创建一个简单的用户表,并插入一些数据:

-- -------------------- ---- -------
------ ----- ----- -
    -- --- -------------- ------- ----
    ---- ----------- --- -----
    ----- -------------
    ---------- --------- ------- -----------------
--

------ ---- ----- ------ ------ ------ --------- ---------------------
------ ---- ----- ------ ------ ------ ------- -------------------

使用命令行导入数据

MySQL 提供了 source 命令,可以从命令行导入 SQL 文件中的数据。

在 Linux 或 macOS 上执行

打开终端并输入以下命令:

这里的 -u username-p 分别表示指定用户名和密码,database_name 是你要导入数据的目标数据库名称,path/to/your/file.sql 是你的 SQL 文件路径。

在 Windows 上执行

在命令提示符下,同样使用 mysql 命令:

在执行上述命令后,系统会提示你输入密码。输入正确的密码后,SQL 文件中的内容将被导入到指定的数据库中。

使用 LOAD DATA INFILE 导入 CSV 数据

LOAD DATA INFILE 是 MySQL 提供的一种快速导入数据的方法,特别适合导入 CSV 格式的文件。

准备 CSV 文件

假设你有一个名为 users.csv 的文件,内容如下:

使用 LOAD DATA INFILE 导入

你可以使用以下 SQL 语句来导入 CSV 文件中的数据:

这里:

  • FIELDS TERMINATED BY ',' 表示字段之间的分隔符为逗号。
  • ENCLOSED BY '"' 表示每个字段都被双引号包围。
  • LINES TERMINATED BY '\n' 表示每行以换行符结束。
  • IGNORE 1 ROWS 表示忽略文件的第一行,因为第一行通常是列名。

使用图形界面工具导入数据

除了命令行工具,许多图形界面工具也提供了方便的数据导入功能,如 phpMyAdmin、MySQL Workbench 等。

使用 phpMyAdmin 导入数据

  1. 登录到 phpMyAdmin。
  2. 选择目标数据库。
  3. 选择 "导入" 选项卡。
  4. 上传 SQL 文件或 CSV 文件。
  5. 点击 "执行" 按钮完成导入。

使用 MySQL Workbench 导入数据

  1. 打开 MySQL Workbench 并连接到数据库。
  2. 选择 "Server" 菜单下的 "Data Import"。
  3. 选择 "Import from Self-Contained File",然后选择你的 SQL 文件。
  4. 选择目标数据库。
  5. 点击 "Start Import" 开始导入过程。

通过以上几种方式,你可以灵活地选择最适合你的场景来导入数据。无论是通过命令行还是图形界面工具,MySQL 都提供了丰富的工具和方法来满足不同的需求。

上一篇: MySQL 导出数据
纠错
反馈