返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1474|回复: 0

[转载] 【转载】mysql 数据库导入导出方法总结

[复制链接]
发表于 2023-12-4 15:39:16 | 显示全部楼层 |阅读模式
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

4、备份多个数据库的语法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的格式。

5、备份所有的数据库的语法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




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

0、导入数据库(首先得创建数据,再导入)C:\Program Files\MySQL\MySQL Server 5.5\bin>
mysql -h localhost -u root -p(进入mysql下面)





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







知识补充:
一般形式: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>
第一步:创建对应字段的数据表
create table csv_test2(
id int(8) primary key,
name varchar(64),
value int(32)
);

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

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


LOAD DATA INFILE 'D:\\tjdata_metro\\test\\mysql_infile3.csv'
INTO TABLE csv_test2
FIELDS TERMINATED BY '\,'
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED by'\r\n'
ignore 1 lines
(id,name,value);

上面的 lines terminated by '\r\n' 是 要求换行符号,为 windows的换行
上面的 ignore 1 lines是 忽略第一行的标题行。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表