MySQL导入导出方法总结
admin
2023-05-24 19:02:54
0

使用into outfile 和 load data infile导入导出数据

 

这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对于mysqldump比较灵活机动。


下面的mysql命令是把select的mytable表中的数据导出到/home/db_bak2012文件。

select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012'   
fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

 

参考:  
https://dev.mysql.com/doc/refman/5.7/en/select-into.html

 

导入刚才备份的数据,可以使用load data infile方法,等价于mysqlimport命令,下面的mysql命令,把导出的数据导入了mytable_bak的表中:

load data infile '/home/db_bak2012' into table mytable_bak   
fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;

 

参考:  
https://dev.mysql.com/doc/refman/5.7/en/load-data.html    
https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

 

使用mysqldump导出数据库


我们来看几个常用用例:

(1)导出整个数据库数据和表结构  
mysqldump -u 用户名 -p 数据库名 > 导出的文件名    
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

 

(2)导出一个表  
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名    
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql


(3)导出结构不导出数据    
mysqldump --opt -d 数据库名 -u root -p > xxx.sql    
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql    
#-d 不导出数据只导出结构 --add-drop-table 在每个create语句之前增加一个drop table

 

(4)导出数据不导出结构

mysqldump -t 数据库名 -uroot -p > xxx.sql

 

(5)导入数据库,常用source 命令

mysql -u root -p    
mysql>use 数据库    
mysql>set names utf8; (先确认编码,如果不设置可能会出现乱码,注意不是UTF-8)    
mysql>source ./wcnc_db.sql

 

(6)多库导出  
上边的实例只是最基础的,有的时候我们可能需要批量导出多个库,我们就可以加上--databases 或者-B,如下语句:

mysqldump  -uroot -p --databases test mysql #空格分隔

还有的时候我们可能需要把数据库内所有的库全部备份,我们就可以使用-all-databases,如下语句:

mysqldump  -uroot -p -all-databases

 

(7)条件导出

mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,有了它,我们就可以从数据库中导出你需要的那部分数据了。


命令格式如下:

mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径


例子:

从test数据库的test_data表中导出id大于100的数据到 /tmp/test.sql 这个文件中

mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql


导入的时候

mysql -u root -p 123456 test test_data < test.sql

 

参考:  
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html


相关内容

热门资讯

美财长:本来还想写“和伊朗最高... 美国财政部长贝森特说,美国总统特朗普政府将“不惜一切代价”支持日本稳定汇市。他还幽默地回应了媒体拍到...
对伊战争消耗过大,美弹药库存告... 美伊战争已经持续近半年,战争大量消耗美军的关键弹药储备,西媒爆料称,美国弹药库存告急。美国总统特朗普...
华为E-band微波产品斩获2... 【CNMO科技消息】 近日,华为E-band微波产品RTN 3800凭借其卓越的设计理念和技术创新,...
原创 美... 当国际空间站走到退役那一天,能不能控制它撞向中国空间站?一些美国网络社区出现这种设想,乍看像在讨论航...
华灿光电:Micro LED通... 证券之星消息,华灿光电(300323)08月04日在投资者关系平台上答复投资者关心的问题。 投资者:...
济宁的破与立:产业蝶变万亿可期... 刚刚过去的7月,济宁有两件事将机器人产业推向了新的高度。一是7月9日,珞石机器人在港交所上市,这是山...
机器人企业TOP50发布,背后... 视频制作:实习生 余天雯 8月3日,DBC德本咨询联合CIW、eNet发布《2026中国科技机器人企...
戈碧迦获得发明专利授权:“一种... 证券之星消息,根据天眼查APP数据显示戈碧迦(920438)新获得一项发明专利授权,专利名为“一种尖...
微信:即日起不再支持 8月3日,微信公众平台运营中心发布关于规范互联网渠道售卡类服务内容的公告。 微信公众平台一直致力于为...
杂活全丢给AI做,TRAE W... 一夜之间,字节、阿里、腾讯国产 AI「御三家」不约而同加码 AI 办公(Work Agent)。AI...