如何导出mysql数据

如何导出mysql数据,第1张

我们使用MYSQL管理数据的时候,有时为了方便需要把数据导出到excel,txt等文件中,那么该如何的导出mysql的数据呢?下面我给大家分享一下。

工具/材料

navicat for mysql

01

首先打开navicat for mysql软件,找到一个数据表,右键选择导出向导,如下图所示

02

然后进入导出文件格式的设定界面,这里大家选择一个要导出的格式即可,如下图所示

03

然后会让给导出的目标文件设置导出位置以及导出的文件名称,如下图所示

04

接着我们还可以给导出的数据加一些附加的内容,比如数据表的标题行,如下图所示

05

最后执行导出,当看到如下图所示的成功字样时则代表文件导出成功,如下图所示

一、导出导入SQL Server里某个数据库

1在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。

2备份 选数据库-完全,

目的 备份到 按添加按钮

文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)

重写 选重写现有媒体

最后按确定按钮。

如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。

3通过FTP或者remote desktop或者pcanywhere等方法

把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。

4目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;

然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库

还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定

还原备份集->数据库-完全

最后按确定按钮。完全的数据库导入成功了。

(如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复 *** 做失败,

可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,然后再做还原)

注意:如果在原有的目的SQL Server数据库上从备份文件(bak)还原数据库会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。

如果一定要还原备份文件(bak)里部分数据,需要另外建一个新数据库,其逻辑名称和数量同备份文件(bak)里数据库的逻辑名称和数量一致;

新数据库的物理文件名称取得一定要和备份文件(bak)里数据库的物理文件不一样才行。

二、导出导入SQL Server里某个表

1没有防火墙,同一个局域网里或不在同一个局域网里,但通过Internet可以互相访问

在SQL Server企业管理器里选中目的数据库 ,按鼠标右键,选所有任务->导入数据-> d出数据转换服务导入/导出向导窗口->下一步->选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->服务器(可选择局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服务器(默认为上一步里选中的导出服务器,也可以选其它局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->目的数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->选择源表和视图->在要导入的表和视图前面选中源->目的出现同样的表名(可以手工修改成别的表名)->转换->列映射和转换里面可以修改源表和目的表之间字段的对应关系,修改目的表字段的类型和长度等,并可以选择创建目的表,在目的表中增加行,除去并重新创建目的表,启用标志插入等选项->确定->下一步->保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出导入数据,选调度DTS包以便以后执行)->保存(可以不选)->[ 保存DTS包(如果以后还要转移这批相同的数据,可以把本次导出导入的内容和步骤保存起来,存到SQL Server即可,保存的时候要输入DTS的包名及详细描述)->下一步-> ]->完成

正在执行包->图形界面显示创建表及插入记录的步骤和状态->完成

2经过防火墙,不在同一个局域网里

①、导出表里的数据到文本文件:

在SQL Server企业管理器里选中目的数据库,按鼠标右键,选所有任务-> 导入数据->d出数据转换服务导入/导出向导窗口->下一步->选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->服务器(可选择局域网内能访问到的所有SQL Server服务器)->选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步->制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步->保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件,选调度DTS包以便以后执行)->保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成

正在执行包->图形界面显示表到文本文件的步骤和状态->完成

如果生成的文本文件大于1M,要用压缩工具压缩后再到Internet上传输。

②、通过FTP或者remote desktop或者pcanywhere等方法把

第①步生成的文本文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。

③、把文本文件导入目的SQL Server数据库

直接把文本文件导入目的SQL Server数据库里跟文本文件同名的新表名时,默认的会把所有字段类型都变成字符串。

所以我们要这样做:

在源SQL Server数据库上先生成创建表的sql语句

在SQL Server查询分析器里->选中源数据库里表名->按右键->在新窗口中编写对象脚本->创建->复制下新窗口内创建表名的sql语句到目标SQL Server数据库上查询分析器里执行创建表名的sql语句,生成空表结构。(如果已经存在这样的表名,修改建表的sql语句,在表名后面加上导入时间的年月信息,例如table_0113)

调用导入/导出工具->d出数据转换服务导入/导出向导窗口->下一步->选数据源-> 数据源(文本文件)->文件名(已传到目的SQL Server数据库下要导入的文本文件,后缀可以不是txt,但是常规文本编辑器能打开的文件,文件类型选全部)->下一步->选择文件格式->用默认的带分隔符->选第一行包含有列名称选项->下一步->制定列分割符->逗号->下一步->选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服务器(可选择目标局域网内能访问到的所有SQL Server服务器)-> 选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->选择源表和视图->修改目的表名为刚才创建的表名->转换(在目的表中追加行) ->下一步->保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动把文本文件导入,选调度DTS包以便以后执行)->保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成

正在执行包->图形界面显示文本文件到表的步骤和状态->完成

如果要更改导入时间的年月信息的表名,例如table_0113到原来的表名,在企业管理器里把原来的表名改成table_old_0113,table_0113改名成table。这会对应用程序里频繁访问的表照成一定的中断。

注意:源表上的建的索引和主键约束不能用上面介绍的1和2方法转移过来,还需要手工来建索引和主键。

标志种子和not null的约束可以继承过来。

导入视图时会把源视图里所有的真实数据导入成一个新表,而不是视图。

三、SQL Server存储过程或用户定义的函数导出导入

1、导出存储过程或用户定义的函数成sql文件

在SQL Server企业管理器里选中源数据库,存储过程->单选或者多选中要转移的存储过程->用户定义的函数->单选或者多选中要转移的函数->按鼠标右键,选所有任务->生成SQL脚本->确定->在自己的电脑硬盘中生成一个自定义的sql文件->保存->正在生成SQL脚本->成功

2、如果目的数据库经过防火墙,不在同一个局域网里,要通过FTP或者remote desktop或者pcanywhere等方法把第1步生成的sql文件传到目的SQL Server数据库服务器上。

3、用查询分析器进入SQL Server目的数据库,从菜单里选文件->打开->打开查询文件->选中第1步生成的sql文件->点执行查询的绿色倒三角型快捷键->查询窗口里会出现执行后的消息(有时候可能因为存储过程和用户定义的函数之间有一定的依赖关系,会报一些错。

最好先执行用户定义的函数的sql文件,再执行存储过程的sql文件)

四、ORACLE数据库里表导入SQL Server数据库

1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver 在$ORACLE_HOME\network\admin\tnsnamesora里配置ORACLE数据库的别名(service name)。

具体配置方法可以参考本站文章:客户端连服务器的注意事项

2、在WIN2000或者win2003服务器->管理工具->数据源(ODBC)->系统DSN(本机器上NT域用户都可以用)->添加->ORACLE ODBC Driver->完成->data source name 可以自定义,我一般填ORACLE数据库的sid标志,description里可以填ORACLE数据库详细描述,也可以不填->data source service name 填第1步定义的ORACLE数据库别名->OK。

(用户DSN和文件DSN也可以类似配置,但使用的时候有一些限制)

3、SQL Server的导入和导出数据工具里->选数据源-> 数据源(其它(ODBC数据源))->选第2步在ODBC里定义的系统DSN source name,用户名密码处填写ORACLE系统的用户名和密码->下一步->选择目的,选SQL Server数据库(跟上面第二点讲的一致,就不重复了)。

注意:在ORACLE表和SQL Server表之间'转换'那步很重要,可以改变默认的字段数据类型,如image->text,decimal->int

五、SQL Server数据库里表导入ORACLE数据库

方法一导出目的选通过ODBC数据源里定义的ORACLE数据库, 注意ORACLE里表名都是大写的我一般在ORACLE这边先生成好表结构,再选择SQL SERVER源表往ORACLE目的表里追加数据数据传输速度比方法二慢

方法二从SQL Server数据库导入数据到ORACLE数据库可以选择用Windows下ORACLE9i企业或者个人版数据库做中转。

MySQL 导出数据

MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。

使用 SELECT … INTO OUTFILE 语句导出数据

以下实例中我们将数据表 shulanxt_tbl 数据导出到 /tmp/shulanxttxt 文件中:

你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式:

在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。

from 树懒学堂 - 一站式数据知识平台

SELECT … INTO OUTFILE 语句有以下属性:

LOAD DATA INFILE是SELECT … INTO OUTFILE的逆 *** 作,SELECT句法。为了将一个数据库的数据写入一个文件,使用SELECT … INTO OUTFILE,为了将文件读回数据库,使用LOAD DATA INFILE。

SELECT…INTO OUTFILE ‘file_name’形式的SELECT可以把被选择的行写入一个文件中。该文件被创建到服务器主机上,因此您必须拥有FILE权限,才能使用此语法。

输出不能是一个已存在的文件。防止文件数据被篡改。

你需要有一个登陆服务器的账号来检索文件。否则 SELECT … INTO OUTFILE 不会起任何作用。

在UNIX中,该文件被创建后是可读的,权限由MySQL服务器所拥有。这意味着,虽然你就可以读取该文件,但可能无法将其删除。

更多MySQL导出数据教程请见:树懒学堂_一站式数据知识学习平台_MySQL 导出数据

Oracle数据导入导出imp/exp

功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接

(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了)

这样你可以把数据导出到本地,虽然可能服务器离你很远。

你同样可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,

DOS中可以执行时由于 在oracle 8i 中 安装目录\$ora10g\BIN被设置为全局路径,

该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。

oracle用java编写,我想SQLPLUSEXE、EXPEXE、IMPEXE这俩个文件是被包装后的类文件。

SQLPLUSEXE调用EXPEXE、IMPEXE他们所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中

exp system/manager@TEST file=d:\daochudmp full=y

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:\daochudmp owner=(system,sys)

3 将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:\daochudmp tables=(table1,table2)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\daochudmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

不过在上面命令后面 加上 compress=y 就可以了

数据的导入

1 将D:\daochudmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:\daochudmp

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:\daochudmp中的表table1 导入

imp system/manager@TEST file=d:\daochudmp tables=(table1)

基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。

注意:

你要有足够的权限,权限不够它会提示你。

数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

数据导出:

exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfulldmp log=c:\orabackup\hkbfulllog;

导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!

同名用户之间的数据导入:

imp hkb/hkb@xe file=c:\orabackup\hkbfulldmp log=c:\orabackup\hkbimplog full=y

不同名之间的数据导入:

imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfulldmp

log=c:\orabackup\hkbimplog;

MySQL命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 41\bin

(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

如我输入的命令行:mysqldump -u root -p news > newssql (输入后会让你输入进入MySQL的密码)

(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件newssql自动生成到bin文件下

命令行导入数据库:

1,将要导入的sql文件移至bin文件下,这样的路径比较方便

2,同上面导出的第1步

3,进入MySQL:mysql -u 用户名 -p

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)

4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库

5,输入:mysql>use 目标数据库名

如我输入的命令行:mysql>use news;

6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source newssql;

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

1Win32下MySQL的备份与还原

11 备份

开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 50\bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voicesql,然后输入密码即可开始导出。

12 还原

进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voicesql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2Linux下MySQL的备份与还原

21 备份

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysqldump -u root -p voice>voicesql,输入密码即可。

22 还原

法一:

[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同12还原。

法二:

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysql -u root -p voice<voicesql,输入密码即可。

以上就是关于如何导出mysql数据全部的内容,包括:如何导出mysql数据、如何导出DB数据库的数据、MySQL数据库怎么导出数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9540082.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存