MySQL 导出数据
马鞍山网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。
使用 SELECT … INTO OUTFILE 语句导出数据
以下实例中我们将数据表 shulanxt_tbl 数据导出到 /tmp/shulanxt.txt 文件中:
你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 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 导出数据
1.
概述
MySQL数据库的导入,有两种方法:
1)
先导出数据库SQL脚本,再导入;
2)
直接拷贝数据库目录和文件。
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
2.
方法一
SQL脚本形式
操作步骤如下:
2.1.
导出SQL脚本
在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。
2.1.1
用phpMyAdmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“Drop
DATABASE”和“Drop
TABLE”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的SQL文件保存下来。
2.1.2
用mysqldump命令行
命令格式
mysqldump
-u用户名
-p
数据库名
数据库名.sql
范例:
mysqldump
-uroot
-p
abc
abc.sql
(导出数据库abc到abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。
2.2.
创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
2.3.
将SQL脚本导入执行
同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。
2.3.1
用phpMyAdmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。
注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
#
gzip
xxxxx.sql
得到
xxxxx.sql.gz文件。
2.3.2
用mysql命令行
命令格式
mysql
-u用户名
-p
数据库名
数据库名.sql
范例:
mysql
-uabc_f
-p
abc
abc.sql
(导入数据库abc从abc.sql文件)
提示输入密码时,输入该数据库用户名的密码。
3
方法二
直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。
3.1
准备原始文件
用tar打包为一个文件
3.2
创建空数据库
3.3
解压
在临时目录中解压,如:
cd
/tmp
tar
zxf
mydb.tar.gz
3.4
拷贝
将解压后的数据库文件拷贝到相关目录
cd
mydb/
cp
*
/var/lib/mysql/mydb/
对于FreeBSD:
cp
*
/var/db/mysql/mydb/
3.5
权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown
mysql:mysql
/var/lib/mysql/mydb/*
chmod
660
/var/lib/mysql/mydb/*
db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名
1.方法一:
登录导出到的数据库,执行
create table fromtable select * from db1.fromtable;
2.方法二:
在cmd下执行,mysqldump -u root -p db1 fromtable file=d:/fromtable.sql; 输入秘密,root为用户名
登录db2 执行 source d:/fromtable.sql;
3.方法三:
登录db1 执行 select * from fromtable into outfile "d:/fromtable .txt"; 导出纯数据格式
登录db2 执行 load data infile d:/fromtable .txt into table fromtable; 需要先建一张和原表结构一样的空表。
4.建一个odbc连接,先导出到access中,再导出到另一个库中。