用SELECT... INTO OUTFILE语句导出MySQL数据的教程

作者:goldensun 时间:2024-01-13 19:50:52 

表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。
导出数据的SELECT...INTO OUTFILE声明:

这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾。默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt:


mysql> SELECT * FROM tutorials_tbl
 -> INTO OUTFILE '/tmp/tutorials.txt';

也可以更改输出格式,使用选项来指示如何引用和分隔列和记录。 CRLF终止线要导出tutorial_tbl的CSV格式的表格,使用这样的语句:


mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
 -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
 -> LINES TERMINATED BY '\r\n';

SELECT ... INTO OUTFILE具有以下属性:

  •     由MySQL服务器直接创建输出文件,这样的文件名应指定您希望在服务器主机上的文件将被写入。没有本地版本的LOAD DATA LOCAL版本的类似的语句。

  •     必须要有MySQL的FILE权限才能执行的SELECT... INTO语句。

  •     输出文件必须不存在。这可以防止MySQL从会破坏文件可能重要。

  •     应该在服务器主机上或一些方法来检索文件从该主机的登录帐户。否则SELECT... INTO OUTFILE可能是没有价值的。

  •     在Unix下,创造了世界可读的文件和所拥有的MySQL服务器。这意味着虽然就可以读取该文件,但是不能够删除它。

作为原始数据的导出表:

使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件或为一组的INSERT语句重新创建该表中的记录。
转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。


使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件,或为一组的INSERT语句重新创建该表中的记录。
转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。


$ mysqldump -u root -p --no-create-info \
     --tab=/tmp TUTORIALS tutorials_tbl
password ******

在SQL格式导出表的内容或定义:

一个表中的SQL格式导出到一个文件,使用这样的命令:


$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt
password ******

这将创建文件的内容如下:


-- MySQL dump 8.23
--
-- Host: localhost  Database: TUTORIALS
---------------------------------------------------------
-- Server version    3.23.58

--
-- Table structure for table `tutorials_tbl`
--

CREATE TABLE tutorials_tbl (
tutorial_id int(11) NOT NULL auto_increment,
tutorial_title varchar(100) NOT NULL default '',
tutorial_author varchar(40) NOT NULL default '',
submission_date date default NULL,
PRIMARY KEY (tutorial_id),
UNIQUE KEY AUTHOR_INDEX (tutorial_author)
) TYPE=InnoDB;

--
-- Dumping data for table `tutorials_tbl`
--

INSERT INTO tutorials_tbl
   VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO tutorials_tbl
   VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO tutorials_tbl
   VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

要转储多个表,他们的名字所有的数据库名称参数。要转储整个数据库,不指定任何表后的数据库,如下所示:


$ mysqldump -u root -p TUTORIALS > database_dump.txt
password ******

所有可用的数据库备份主机上使用以下命令:


$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

在SQL格式导出表的内容或定义:

这些方法可用于实现数据库的备份策略。
表或数据库复制到另一台主机:

如果要复制的表或数据库从一个MySQL服务器,然后使用mysqldump数据库名和表名。

在源主机上运行以下命令。这将转储完整的数据库到dump.txt文件:


$ mysqldump -u root -p database_name table_name > dump.txt
password *****

复制完整的数据库,而不使用一个特定的表名称,如上面所解释。

现在,FTP dump.txt文件在另一台主机上,使用下面的命令。在运行此命令之前,请确保已创建目标服务器上的数据库名称。


$ mysql -u root -p database_name < dump.txt
password *****

另一种方法,而无需使用一个中间文件来完成,mysqldump输出直接通过网络发送到远程的MySQL服务器。如果可以连接到两台服务器的cookbook 数据库所在的主机上,使用以下命令:


$ mysqldump -u root -p database_name \
     states | mysql -h other-host.com database_name

命令mysqldump的一半连接到本地服务器,并写入转储输出管道。 MySQL的一半的命令连接到远程MySQL服务器otherhost.com。它读取输入管和其他host.com服务器发送的每个语句。

标签:MySQL,导出
0
投稿

猜你喜欢

  • Python中常见的导入方式总结

    2023-03-04 18:22:03
  • 将TensorFlow的模型网络导出为单个文件的方法

    2022-11-11 07:30:13
  • Python实现的网页截图功能【PyQt4与selenium组件】

    2021-04-13 16:21:56
  • MySQL数据库安装和Navicat for MySQL配合使用教程

    2024-01-24 16:50:58
  • MySQL 8.0新功能监控统计限制连接不再担心被垃圾SQL搞爆内存

    2024-01-16 12:51:25
  • asp封装dll源码分享

    2008-09-25 17:20:00
  • php下防止单引号,双引号在接受页面转义的设置方法

    2023-11-15 02:37:01
  • php使用ZipArchive函数实现文件的压缩与解压缩

    2023-07-12 20:58:19
  • python实现超市扫码仪计费

    2023-01-11 03:53:31
  • mysql事务管理操作详解

    2024-01-20 10:35:29
  • django 消息框架 message使用详解

    2021-06-21 17:22:29
  • 解析smarty模板中类似for的功能实现

    2023-11-15 12:53:40
  • 详解OpenCV中直方图,掩膜和直方图均衡化的实现

    2022-10-30 12:03:33
  • 微信公众平台开发教程⑤ 微信扫码支付模式介绍

    2023-11-14 10:40:10
  • 黑客谈 MSSQL SA权限入侵的感悟

    2008-03-20 10:18:00
  • 关于淘宝商城新版的一点看法

    2009-06-28 16:00:00
  • .net 6精简版webapi教程及热重载、代码自动反编译演示

    2024-05-05 09:13:12
  • Python字符串中删除特定字符的方法

    2023-07-25 18:58:54
  • Python中的类与类型示例详解

    2023-08-12 12:21:42
  • Linux环境MySQL服务器级优化讲解

    2008-12-04 17:21:00
  • asp之家 网络编程 m.aspxhome.com