目录

mysql-数据库导入导出方法总结

mysql 数据库导入导出方法总结

注意:mysqldump是在操作系统命令行下运行的。不是在 mysql 命令行下运行的,进入MySQL目录下的bin文件夹,如:C:\Program Files\MySQL\MySQL Server 5.5\bin>

一般形式:mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名

1)-p 后面不能加password,只能单独输入如1中那样

2)mysqldump是在cmd下的命令,不能再mysql下面,即不能进入mysql的(即use dpname下,得exit退出mysql下才可以的。)

一、数据库的导出(备份)

0、(备份数据库即 导出所有表以及数据 不加-d )

mysqldump -h localhost -u root -p test > G:\arcgisworkspace\zypdoc\test.sql

1、(备份数据库即 导出所有表结构 )      ##test为数据库名称,-d表示只导出表结构 (去掉data) ,不导出数据

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -h localhost -u root -p -d test > G:\arcgisworkspace\zypdoc\test.sql

ENTER PASSWORD:******

2、(导出某张表的表结构不含数据)   ##test是数据库名,pollution是表名

mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql

3、(导出某张表的表结构和数据,不加-d)

mysqldump -h 127.0.0.1 -u root -p test pollution > G:\arcgisworkspace\zypdoc\test.sql

5、备份多个数据库的语法C:\Program Files\MySQL\MySQL Server 5.5\bin>

mysqldump -h 127.0.0.1 -u root -p –databases test bank > G:\arcgisworkspace\zypdoc\test.sql

或 mysqldump -h 127.0.0.1 -u root -p –databases test bank > G:\arcgisworkspace\zypdoc\test.txt 是没有用的,因为仍然是sql的格式。

6、备份所有的数据库的语法C:\Program Files\MySQL\MySQL Server 5.5\bin>

mysqldump -h 127.0.0.1 -u root -p –all-databases > G:\arcgisworkspace\zypdoc\test.sql

https://i-blog.csdnimg.cn/blog_migrate/bcab846a281bd47447deb740b0dde3a5.png

二、数据库的导入(还原)

0、导入数据库(首先得创建数据,再导入)C:\Program Files\MySQL\MySQL Server 5.5\bin>

mysql -h localhost -u root -p(进入mysql下面)

https://i-blog.csdnimg.cn/blog_migrate/2a58f8fa63c1ec9f2e07a67fb7d6b104.png

create database abc;(创建数据库)

show databases;(就可看到所有已经存在的数据库,以及刚刚创建的数据库abc)

use abc;(进入abc数据库下面)

show tables;(产看abc数据库下面的所有表,空的)

source G:\arcgisworkspace\zypdoc\test.sql(导入数据库表)

show tables;(查看abc数据库下面的所有表,就可以看到表了)

desc pollution;(查看表结构设计)

select * from pollution;

exit(或者ctrl + c)退出mysql

三:MYSQL如何导出文本文件  (备份为csv,txt,等,更加有用)

0、mysql 下导出为指定格式的数据的外部任意文件类型  mysql>

use dbname

Database Changed

select * from pollution into outfile ‘G:\arcgisworkspace\zypdoc\text.txt’; (只导出数据的,注意转义字符哦)

select * from pollution into outfile ‘G:\arcgisworkspace\zypdoc\text.csv’ FIELDS TERMINATED BY ‘,’; (输出格式控制)

结果为:

1,汽车尾气,200

2,建筑扬沙,180

3,汽车喷漆,160

4,燃煤,240

5,其它,80

https://i-blog.csdnimg.cn/blog_migrate/be6897025cd1d5dce0ecf5354cfd2e3e.png

https://i-blog.csdnimg.cn/blog_migrate/bae3586088f026758f1ba4c1ec91285f.png

知识补充:

一般形式:select [列名称] from tablename [where]

into outfile ‘目标文件路径’ [option]

其中option参数常用的5个选项

FIELDS TERMINATED BY ‘字符串’:设置字符串为字段的分割符,默认值为 \t;

FIELDS ENCLOSED BY ‘字符’:设置字符串括上char varchar text等字符型字段,默认值为 无任何符号;

FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为 无任何符号;

LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为 无任何字符;

FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 \;

LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 \n;

如:

select * from pollution into outfile ‘G:\arcgisworkspace\zypdoc\text2.csv’

FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘"’

LINES STARTING BY ‘>’ TERMINATED BY ‘\r\n’;

结果为:

1,“汽车尾气”,“200”

2,“建筑扬沙”,“180”

3,“汽车喷漆”,“160”

4,“燃煤”,“240”

5,“其它”,“80”

1、mysqldump 下导出为指定格式的数据的外部任意文件类型  C:\Program Files\MySQL\MySQL Server 5.5\bin>

mysqldump -u root -p -T G:\arcgisworkspace\zypdoc\ abc pollution “–fields-terminated-by=,” (记住不要任何多余的空格,也不用转移字符;-p后面也不用写password;注意目

标目录是文件夹,文件名是表名,后缀是txt文件)

知识补充:

mysqldump -u root -p -T 目标目录 dbname tablename [option]

option 和 上面的mysql的一样,只是更改为

“–fields-terminated-by=字符”(不要任何多余的空格,就是指fields-terminated-by紧密相连的)

四:MYSQL如何导入文本文件  (更加有用)

(1)mysql 下导出为指定格式的数据的外部任意文件类型  mysql>

第一步:创建对应字段的数据表

  1. create table csv_test2(
  2. id int(8) primary key,
  3. name varchar(64),
  4. value int(32)
  5. );

(2)插入:加入value的类型开始时设计错了,如何更改:ALTER table csrv_test2 MODIFY column value varchar(32);

(3)第二步:导入外部数据

  1. LOAD DATA INFILE ‘D:\tjdata_metro\test\mysql_infile3.csv’
  2. INTO TABLE csv_test2
  3. FIELDS TERMINATED BY ‘,’
  4. OPTIONALLY ENCLOSED BY ‘"’
  5. LINES TERMINATED by’\r\n’
  6. ignore 1 lines
  7. (id,name,value);

上面的 lines terminated by ‘\r\n’ 是 要求换行符号,为 windows的换行

上面的 ignore 1 lines是 忽略第一行的标题行。

转自: