加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-12 00:59:42 所属栏目:MySql教程 来源:网络整理
导读:《Mysql学习用SELECT... INTO OUTFILE语句导出MySQL数据的教程》要点: 本文介绍了Mysql学习用SELECT... INTO OUTFILE语句导出MySQL数据的教程,希望对您有用。如果有疑问,可以联系我们。 表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFIL

《Mysql学习用SELECT... INTO OUTFILE语句导出MySQL数据的教程》要点:
本文介绍了Mysql学习用SELECT... INTO OUTFILE语句导出MySQL数据的教程,希望对您有用。如果有疑问,可以联系我们。

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

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

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

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

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

SELECT ... INTO OUTFILE具有以下属性:MYSQL必读

  • ??? 由MySQL服务器直接创建输出文件,这样的文件名应指定您希望在服务器主机上的文件将被写入.没有本地版本的LOAD DATA LOCAL版本的类似的语句.
  • ??? 必须要有MySQL的FILE权限才能执行的SELECT... INTO语句.
  • ??? 输出文件必须不存在.这可以防止MySQL从会破坏文件可能重要.
  • ??? 应该在服务器主机上或一些方法来检索文件从该主机的登录帐户.否则SELECT... INTO OUTFILE可能是没有价值的.
  • ??? 在Unix下,创造了世界可读的文件和所拥有的MySQL服务器.这意味着虽然就可以读取该文件,但是不能够删除它.

作为原始数据的导出表:MYSQL必读

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


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

$ mysqldump -u root -p --no-create-info 

      --tab=/tmp TUTORIALS tutorials_tbl
password ******

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

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

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

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

-- 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');

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

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

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

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

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

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

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

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

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

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

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

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

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

$ mysqldump -u root -p database_name 

      states | mysql -h other-host.com database_name

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读