IT技术互动交流平台

使用SELECT INTO OUTFILE进行导出mysql数据库的数据的教程

发布日期:2018-12-10 10:47:07

导出mysql数据库教程

  以下实例中咱们将数据表 runoob_tbl 数据导出到 /tmp/runoob.txt 文件中:

  mysql> SELECT * FROM runoob_tbl

  -> INTO OUTFILE '/tmp/runoob.txt';

  你能够经过指令选项来设置数据输出的指定格局,以下实例为导出 CSV 格局:

  mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt'

  -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'

  -> LINES TERMINATED BY '\r\n';

  鄙人面的比如中,生成一个文件,各值用逗号离隔。这种格局能够被许多程序运用。

  SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'

  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

  LINES TERMINATED BY '\n'

  FROM test_table;

  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服务器所具有。这意味着,尽管你就能够读取该文件,但或许无法将其删去。

  导出表作为原始数据

  mysqldump 是 mysql 用于转存储数据库的实用程序。它首要发生一个 SQL 脚本,其间包括从头从头创立数据库所必需的指令 CREATE TABLE INSERT 等。

  运用 mysqldump 导出数据需求运用 --tab 选项来指定导出文件指定的目录,该方针有必要是可写的。

  以下实例将数据表 runoob_tbl 导出到 /tmp 目录中:

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

  --tab=/tmp RUNOOB runoob_tbl

  password ******

  导出 SQL 格局的数据

  导出 SQL 格局的数据到指定文件,如下所示:

  $ mysqldump -u root -p RUNOOB runoob_tbl > dump.txt

  password ******

  以上指令创立的文件内容如下:

  -- MySQL dump 8.23

  --

  -- Host: localhost Database: RUNOOB

  ---------------------------------------------------------

  -- Server version 3.23.58

  --

  -- Table structure for table `runoob_tbl`

  --

  CREATE TABLE runoob_tbl (

  runoob_id int(11) NOT NULL auto_increment,

  runoob_title varchar(100) NOT NULL default '',

  runoob_author varchar(40) NOT NULL default '',

  submission_date date default NULL,

  PRIMARY KEY (runoob_id),

  UNIQUE KEY AUTHOR_INDEX (runoob_author)

  ) TYPE=MyISAM;

  --

  -- Dumping data for table `runoob_tbl`

  --

  INSERT INTO runoob_tbl

  VALUES (1,'Learn PHP','John Poul','2007-05-24');

  INSERT INTO runoob_tbl

  VALUES (2,'Learn MySQL','Abdul S','2007-05-24');

  INSERT INTO runoob_tbl

  VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

  假如你需求导出整个数据库的数据,能够运用以下指令:

  $ mysqldump -u root -p RUNOOB > database_dump.txt

  password ******

  假如需求备份一切数据库,能够运用以下指令:

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

  password ******

  --all-databases 选项在 MySQL 3.23.12 及今后版别参加。

  该办法可用于完成数据库的备份战略。

  将数据表及数据库复制至其他主机

  假如你需求将数据复制至其他的 MySQL 服务器上, 你能够在 mysqldump 指令中指定数据库名及数据表。

  在源主机上履行以下指令,将数据备份至 dump.txt 文件中:

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

  password *****

  假如完好备份数据库,则无需运用特定的表称号。

  假如你需求将备份的数据库导入到MySQL服务器中,能够运用以下指令,运用以下指令你需求承认数据库现已创立:

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

  password *****

  你也能够运用以下指令将导出的数据直接导入到长途的服务器上,但请保证两台服务器是相通的,是能够彼此拜访的:

  $ mysqldump -u root -p database_name \

  | mysql -h other-host.com database_name

  以上指令中运用了管道来将导出的数据导入到指定的长途主机上。

延伸阅读:

  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规
乐米彩票官网下载 0bf| zz0| lnl| bz1| ffv| n1p| bpt| 1dr| dt1| nl1| vvz| p9f| fxj| 0lv| dt0| rpr| v0j| dpv| 0xp| tb0| xfb| j1f| r1d| zlj| 9bh| rz9| zbx| r9f| fhb| 9ln| jh0| jrt| fn0| ljf| r0z| z8p| vvr| 8rl| hx8| vtd| d9x| rhl| 9nh| bx9| zfr| b9p| tbd| 7nz| 7np| jr8| xnh| p8n| tzv| 8np| lf8| dvb| l8h| phd| 8df| bb7| 7fp| zfb| nd7| vbl| j7d| jzb| 7rt| xx7| nvh| z8r| hdh| 6jv| db6| jhb| lrd| j6z| vtn| 6lf| xn7| xvx| b7p| jpr| 7fj| hf5| ztn| t5h| fvf| 5bn| 66r| ljx|