1
数据库技术及应用
1.11.5.3 8.5.3 导出与导入数据库数据
8.5.3 导出与导入数据库数据

导出数据是指将SQL Server数据库中的数据库转换为某些用户指定格式的过程,也就是把数据从SQL Server数据库中引入到其他系统的过程。例如,将SQL Server的数据表转移到Access数据库中,或转移到Excel电子表格中。

导入数据就是从外部数据源中检索数据,并将数据插入到SQL Server数据表中的过程,也就是把数据从其他系统引入到SQL Server数据库中的过程。例如,将Access数据表转移到SQL Server数据库中,或者将一个SQL Server数据库中的数据转移到另一个SQL Server数据库中。

8.5.3.1 数据库的数据导出

下面通过一个从数据库中导出数据的例子来介绍数据库的数据导出方法。

【例8-9】将SQL Server服务器下的学生信息管理数据库中的系部信息表、学生信息表、课程信息表和选课表中的数据导出到Excel文件D:\学生信息管理.xls中。

使用SQL Server Management Studio导出数据表中的数据,具体步骤如下:

(1)在MicrosofT-SQL Server Management Studio窗口中展开“服务器”文件夹,右击需要导出数据的数据库,在弹出的快捷菜单中执行“任务”→“导出数据”命令,如图8-57所示。

图8-57 执行“导出数据”命令

(2)打开“SQL Server导入和导出向导”窗口,在“数据源”下拉列表中选择要导出的数据源。这里将学生信息管理数据库的表中数据导出,在“数据库”下拉列表中选择Student数据库,单击“下一步”按钮,如图8-58所示。

(3)进入“选择目标”界面,设置数据导出到何处。在“目标”下拉列表中选择导出数据类型为Microsoft Excel,在“Excel文件路径”文本框中输入导出的Excel文件存放位置和文件名。如图8-59所示,单击“下一步”按钮。

图8-58 选择数据源

图8-59 设置数据导出的目标位置

(4)进入“指定表复制或查询”界面,在此可进行表复制或查询的选择。选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮,如图8-60所示。

图8-60 设置表复制或查询的方式

(5)进入“选择源表和源视图”界面,在此选择要导出的数据源表,单击“下一步”按钮,如图8-61所示。

图8-61 选择要导出的表和视图

(6)在进入的向导页中进行执行设定。选中“立即执行”单选按钮,单击“下一步”按钮。

(7)进入新的向导页,显示出用户在前面的向导页中进行的设置,如果有问题,用户可以通过单击“上一步”按钮进行修改,没有问题则单击“完成”按钮,系统立即按用户的设置进行数据导出,完成后显示“执行成功”,如图8-62所示。

图8-62 执行成功界面

8.5.3.2 数据库的数据导入

接下来通过一个例子来介绍数据库中数据导入的具体操作方法。

【例8-10】将Excel文件D:\学生信息管理.xls中的学生信息表导入到Student数据库中。

使用SQL Server Management Studio导入Excel表中数据,步骤如下:

(1)在MicrosofT-SQL Server Management Studio窗口中展开“服务器”文件夹,右击需要导入数据的Student数据库,在弹出的快捷菜单中执行“任务”→“导入数据”命令,如图8-63所示,打开“SQL Server导入和导出向导”窗口。

(2)在“数据源”下拉列表中选择Microsoft Excel,在“Excel文件路径”中输入导入的Excel文件存放位置和文件名“D:\学生信息管理.xls”,如图8-64所示。

(3)单击“下一步”按钮,进入“选择目标”界面,该界面中可选择数据要导入的数据库。由于选择导入的任务时已选定数据库,因此可以采用默认设置,单击“下一步”按钮,如图8-65所示。

图8-63 执行“导入数据”命令

图8-64 选择数据源

图8-65 选择目标

(4)进入“指定表复制或查询”界面,在该页可进行表复制或查询的选择。选中“复制一个或多个表或视图数据”单选按钮,单击“下一步”按钮,如图8-66所示。

图8-66 设置表复制或查询的方式

(5)进入“选择源表和源视图”界面,在该页可进行源表的选择。选中Excel学生管理数据簿中的学生信息表Student_info复选框,单击“下一步”按钮,如图8-67所示。

图8-67 选择源表和源视图项

(6)进入“执行设定”界面,选中“立即执行”按钮,单击“下一步”按钮进入下一界面,该页显示出用户在前面的向导页中进行的设置。如果有问题,用户可以通过单击“上一步”按钮进行修改。没有问题的话单击“完成”按钮,进入下一界面,系统立即按用户的设置进行数据导出,完成后显示“执行成功”,如图8-68所示。

实战演练——BBS数据库的日常维护

本任务完成BBS数据库的日常维护,主要包括如下内容:

(1)使用可视化工具SSMS创建一个名为bak1的磁盘备份设备,其物理名为D:\backup\bak1.bak。

(2)使用可视化工具SSMS对BBS数据库进行完整数据库备份到备份设备bak1。

(3)使用TransacT-SQL命令对BBS数据库进行差异数据库备份到备份设备bak1。

(4)使用TransacT-SQL命令对BBS数据库进行日志备份,将日志备份到磁盘名为d:\baklog.bak文件上,并且覆盖所有的备份集。

图8-68 执行成功界面

(5)使用可视化工具SSMS,利用备份设备bak1中的“BBS完整备份”和“BBS差异备份”进行数据库恢复,恢复后的数据库名为BBS。

主要操作步骤如下:

1.创建磁盘备份设备

主要操作步骤如下:

步骤1:打开SQL Server Management Studio。

步骤2:展开服务器对象节点,然后右击“备份设备”节点,从弹出的快捷菜单中执行“新建备份设备”命令,如图8-69所示。

步骤3:打开“备份设置bak1”窗口,在“设备名称”文本框中输入设备名称“bak1”。若要确定目标位置,选中“文件”单选按钮并设置该文件的完整路径,如图8-70所示。

步骤4:单击“确定”按钮,完成备份设备的创建。

2.使用SSMS对BBS数据库进行完整数据库备份

主要操作步骤如下:

步骤1:在SQL Server管理平台中,打开“数据库”文件夹,在要进行备份的数据库图标上单击鼠标右键,在弹出的快捷菜单中执行“任务”→“备份”命令,如图8-71所示。

图8-69 执行“新建备份设备”命令

图8-70 创建备份设备

图8-71 执行“备份”命令

步骤2:打开“备份数据库 BBS”窗口,其中有“常规”和“选项”两个选项卡,如图8-72所示。在“常规”选项卡界面的“源”栏中,可以选择备份数据库的名称、恢复模式和备份类型;“备份集”栏中可以设置备份集的名称、说明以及备份集过期的时间;“目标”栏中可以设置备份的目标,默认值为“磁盘”。可以单击“添加”按钮,在打开的如图8-73所示的“选择备份目标”对话框中选中“文件名”单选按钮并指定文件名和路径;也可以选中“备份设备”单选按钮,从下拉列表中选择备份设备。

步骤3:选择“选项”选项卡,选中“覆盖所有现有备份集”单选按钮,然后选中“完成后验证备份”复选框,如图8-74所示。

步骤4:单击“确定”按钮,即可完成备份的创建。

3.用TransacT-SQL命令对BBS数据库进行差异数据库备份

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,或者执行“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

步骤3:在查询编辑窗口中编辑如下T-SQL代码:

图8-72 “备份数据库”对话框

图8-73 “选择备份目标”对话框

步骤4:单击工具栏上的按钮来执行以上SQL代码,执行结果如图875所示。

图8-74 “选项”选项卡界面

图8-75 差异数据库备份成功

4.用TransacT-SQL命令对BBS数据库进行日志备份

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:单击工具栏上的按钮,或者选择“文件”→“新建”→“使用当前连接查询”命令,建立一个新的查询。

步骤3:在查询编辑窗口中编辑如下T-SQL代码:

步骤4:单击工具栏上的按钮来执行SQL代码命令,结果如图876所示。

图8-76 日志备份成功

5.使用SSMS进行数据库恢复

具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:右击“数据库”文件夹,在弹出的快捷菜单中执行“还原数据库”命令,如图8-77所示,打开“还原数据库”窗口,如图8-78所示。

图8-77 执行“还原数据库”命令

图8-78 “还原数据库”窗口

步骤3:选中“源设备”单选按钮,单击按钮,弹出“指定备份设备”对话框,在“备份媒体”选项中选择“备份设备”中的选项,这里选择之前创建的“bak1”设备。

步骤4:单击“确定”按钮,返回到“还原数据库 BBS”窗口,选中“选择用于还原的备份集”列表框下的“完整”和“差异”类型复选框,使数据库恢复到最近一次的正确状态,如图8-79所示。

图8-79 选中“完整”和“差异”类型复选框

步骤5:单击“确定”按钮开始恢复数据库,恢复完成后弹出还原成功的对话框,如图8-80所示。

图8-80 还原数据库成功