数据的导出与导入

12002

本课介绍

本课我们将以操作为主,快速熟悉数据的导出和导入的相关操作方法。通过操作,进一步了解数据的导出和导入在数据管理中的重要性,特别是在数据备份与恢复、数据复制、数据格式转换等应用场景中,都需要熟练掌握数据的导出与导入的技能,以保障数据的安全性和完整性。

1. 数据导出和导入的应用场景

在数据管理中,数据的导出和导入是至关重要的操作。它们常用于以下应用场景:

  1. 数据备份与恢复:数据导出用于创建数据备份,以防止数据丢失或损坏,在需要时可以快速恢复数据。

  2. 数据迁移与复制:在系统迁移、升级或合并时,数据导出和导入帮助将数据从一个系统转移到另一个系统,确保数据的完整性和一致性。

  3. 数据格式转换:将数据从一种格式转换为另一种格式,例如将Excel文件中的数据导入到数据库中,或将数据库中的数据导出为CSV文件等。

比如,在应用开发阶段,数据导出和导入可用于预备符合开发逻辑的业务数据,并保证数据版本的更新;在应用生产阶段,可确保数据不丢失;在应用升级时,可确保数据结构正确调整;在系统运维中,可保证数据备份的完整。

接下来,我们就介绍一下简单的数据导出和导入常用的操作。

2.数据的导出

转储SQL文件

我们通常使用数据库管理工具Navicat,将数据导出为SQL文件。用这种方法操作起来很简单,可以导出整个数据库,也可以导出某张数据表,具体步骤如下:

  1. 打开Navicat,选择数据库"mystudent",点击右键并选择"转储SQL文件",你会看到有两种转储的选项:结构和数据,仅结构。

dc1.png

这两种转储SQL文件的选项,适用于不同的需求:

  • 结构和数据:这种选项会导出包括表结构和表中的数据在内的所有内容。导出的文件包含创建表的SQL语句(CREATE TABLE)以及插入数据的SQL语句(INSERT)。适用于需要完整备份数据库表的情况,包括表结构和数据,以便在需要时能够完全恢复数据库。

  • 仅结构:这种选项只导出表的结构,不包括表中的实际数据。导出的文件只包含创建表的SQL语句(CREATE TABLE),不包含插入数据的SQL语句。适用于需要复制表结构而不需要复制数据的情况,比如在创建新表时保留原始表的结构但不需要其中的数据。

  1. 这里,我们以"结构和数据"选项为例,来导出数据库。选择后,需要选择保存文件的路径(请一定要记住这个路径),然后为文件命名,这里需要注意的是:SQL文件的保存类型为*.sql

dc2.png

  1. 保存后,就开始执行转储SQL的操作,完成后可以看到如下提示,然后点击"打开"。

dc3.png

  1. 打开后,你会看到数据库中每个数据表、视图以及MySQL存储过程的SQL语句。保存这个SQL转储文件,你可以在任何新建的数据库执行这段语句,作为数据的恢复。

dc4.png

同样的,你也可以将某张数据表转储为SQL文件,按照上面的操作步骤选择你要转储的数据表即可。需要注意的是,根据实际需求选择结构和数据,或者是仅结构。

复制表结构和数据

如果需要复制一个表的结构和数据到另一个数据库,可以使用SQL语句,也可以使用Navicat。

  • 使用SQL语句

创建一个新表并复制原表的结构和数据,可以用CREATE TABLE ... SELECT语句来实现,语法如下:

  1. CREATE TABLE new_table AS
  2. SELECT * FROM old_table;

这将创建一个名为 new_table 的新表,其结构与 old_table 相同,并复制 old_table 中的所有数据到 new_table

比如,我们将"student"表复制为"new_student",可以这样操作:

  1. 复制下面的语句,并在Navicat的新建查询中运行
  1. CREATE TABLE new_student AS
  2. SELECT * FROM student;
  1. 刷新数据库中的"表",即可看到复制的新表"new_student",它的结构与数据跟旧表"student"是完全一致的

dc5.png

  • 使用Navicat
  1. 在Navicat中找到要复制的表,单击右键选择"复制表"。你会看到有两种选项:结构和数据,仅结构。

dc6.png

  1. 我们选择"仅结构",你会看到数据库中出现了一个新的表"sc_copy1"

dc7.png

  1. 打开这张表,你会看到它仅有数据结构,没有数据

dc8.png

在数据导出中,复制表结构和数据是数据库管理中常用的操作,可用于表结构在其他应用开发中的重复利用,同时也适用于数据备份恢复、数据迁移等多种场景,提供灵活的数据管理和操作方式。

数据格式转换

通常情况下,我们需要将数据库中的数据表导出为其他格式,以满足不同的需求。常见的做法是将数据库中的数据表导出为Excel格式,这样便于数据的查看、编辑和分享。接下来我们就以Excel为例,看一下如何操作:

  1. 在Navicat中找到要转换格式的数据表,单击右键选择"导出向导"。

dc9.png

  1. 然后,你需要选择导出数据表的格式,这里我们选择Excel数据表。

dc10.png

  1. 再次确认你要导出的数据表,以及要导出的字段如下,点击"下一步"

dc11.png
dc12.png
dc13.png

  1. 点击"开始"

dc14.png

  1. 导出成功后,请注意导出文件的路径,然后点击"打开",会看到导出的数据表为Excel如下

dc15.png
dc16.png

数据导出的格式有多种选择,常见的包括Excel、CSV、JSON、XML等,可以根据需要选择最适合的格式进行数据导出。不同的格式适用于不同的场景,比如Excel适合数据查看和编辑,CSV适合数据交换和导入导出,JSON和XML适合在Web应用程序中进行数据交换和存储。根据具体需求选择合适的数据格式可以更好地满足数据处理和分享需求。

3.数据的导入

将SQL文件导入新数据库

数据的导出与导入都是相对应的。与转储SQL文件对应的操作就是将SQL文件导入新数据库。我们仍然使用数据库管理工具Navicat导入SQL文件,可以导入整个数据库,也可以导入某张数据表,具体步骤如下:

  1. 在MySQL连接中,建立一个新的数据库"newstudent"

dr1.png

  1. 选择数据库"newstudent",点击右键并选择"运行SQL文件"

dr2.png

  1. 选择之前导出的SQL文件,并打开该文件

dr3.png
dr4.png

  1. 点击"开始",运行成功后,选择"关闭"

dr5.png
dr6.png

  1. 选择数据库"newstudent",点击右键并选择"刷新",你会看到该数据库中的数据表、视图及MySQL存储过程与转储的旧数据库"mystudent"是一致的

dr7.png
dr8.png

同样的,你也可以将某张数据表的SQL转储文件,按照上面的操作步骤导入数据库。

将Excel文件导入数据库

在将Excel数据导入数据库之前,要确保导入的数据表字段与目标表字段是一致的。当导入的数据表字段与目标表字段一致时,通常用于数据的更新操作。更新操作可以根据导入的数据内容,更新数据库表中已存在的记录,或者插入新的记录,实现数据的同步和更新。

我们用一个简单的例子,来看一下将Excel文件中的数据导入到数据库的操作:

  1. 先新建一张数据表"newstudent",确保它的字段与"student"是一致的

dre1.png

  1. 点击右键并选择"导入向导",然后选择导入类型为"Excel文件"

dre2.png
dre3.png

  1. 点击下一步,先选择"添加文件",选择要导入的Excel文件student,再点"打开";选择student作为数据源

dre4.png
dre5.png

  1. 继续点击下一步

dre6.png
dre7.png

  1. 在这里,确定源字段和目的字段的对应关系,选择SId作为主键

dre8.png

  1. 选择导入模式,这里我们把Excel的数据导入一张空表中,选择"追加"即可;如果目标表中有数据,这里要谨慎选择,以免将数据覆盖或删除

dre9.png

  1. 点击"开始"按钮后,数据导入成功。我们可以看到添加了16条数据

dre10.png

  1. 刷新数据表"newstudent",可以看到数据导入成功,并且与Excel中的数据是一致的

dre11.png

在操作数据的导出与导入过程中,关键在于选择合适的工具,一般我们都是用Navicat或者SQL语句;在操作之前务必备份数据,确保保存路径正确,避免覆盖其他数据导致错误。这些步骤是数据管理中常用且重要的操作,必须确保数据的完整性、准确性和安全性。