MySQL 命令行导出、导入Select 查询结果
?
有的時(shí)候需要把在一張表中用 select 語句查詢出來的結(jié)果保存到另一張結(jié)構(gòu)相同的表中,可以有幾種方法來實(shí)現(xiàn):
方法一:
在命令行下使用一對(duì)SQL語句完成該操作:
導(dǎo)出查詢結(jié)果:Select語句 into outfile '保存路徑+文件名';
導(dǎo)入查詢結(jié)果:load data local infile '保存路徑+文件名' into table 表明 character set utf8;
?
例如:
查詢出數(shù)據(jù)庫(kù)jc1992中表jc_archives中發(fā)布時(shí)間晚于2014年9月1日的數(shù)據(jù)并保存在本地磁盤D的mysqltmp目錄下,保存為1.sql,在命令行中輸入:
SELECT * from jc_archives where senddate>UNIX_TIMESTAMP('2014-9-1' ) into outfile 'D://mysqltmp/1.sql';命令行如圖:
?
1.sql用EditPlus打開如圖:
?
再把保存查詢結(jié)果的1.sql導(dǎo)入到另一數(shù)據(jù)庫(kù)data_tmp的表archives中,在命令行中輸入:
load data local infile "D://mysqltmp/1.sql" into table archives character set utf8;命令行如圖:
?
這樣就把第一張表中的查詢結(jié)果導(dǎo)入了第二張表。
?
要注意的是在導(dǎo)入時(shí),兩張表的主鍵或者唯一索引的值不能有重復(fù),否則會(huì)跳過不執(zhí)行或者報(bào)警告:
?
方法二:
導(dǎo)出查詢結(jié)果:使用MySQL自帶的轉(zhuǎn)存數(shù)據(jù)庫(kù)工具musqldump
命令行進(jìn)入musqldump,使用語句
mysqldump -u用戶名 -p -c --default-character-set=字符集 數(shù)據(jù)庫(kù)名 數(shù)據(jù)表 --where="查詢條件" > 保存路徑和文件名
導(dǎo)入查詢結(jié)果:mysql -u用戶名 -p -c --default-character-set=字符集 數(shù)據(jù)庫(kù)名 < 保存路徑和文件名
?
例如:
查詢出數(shù)據(jù)庫(kù)jc1992中jc_arctiny的發(fā)布時(shí)間晚于2014年9月1日的數(shù)據(jù)并保存在本地磁盤D的mysqltmp目錄下,保存為2.sql,在命令行中輸入:
mysqldump -uroot -p -c --default-character-set=utf8 jc1992 jc_arctiny --where="senddate>UNIX_TIMESTAMP('2014-9-1')" > D:\mysqltmp\2.sql命令行如圖:
?
2.sql中保存的是完整的SQL語句,用記事本打開如圖:
?
再把保存查詢結(jié)果的2.sql導(dǎo)入到另一數(shù)據(jù)庫(kù)data_tmp的表中,在命令行中輸入:
mysql -uroot -p -c --default-character-set=utf8 data_tmp < D:\mysqltmp\2.sql命令行如圖:
此時(shí)數(shù)據(jù)庫(kù)data_tmp中多了一張表jc_arctiny,表里的數(shù)據(jù)正是查詢出來的的那部分?jǐn)?shù)據(jù)。
?
注意:此方法導(dǎo)出時(shí)用的是mysqldump工具,而導(dǎo)入時(shí)用的是mysql命令。而且此方法由于導(dǎo)出的是完整的SQL語句,包括創(chuàng)建和設(shè)計(jì)數(shù)據(jù)庫(kù),所以只適用于恢復(fù)數(shù)據(jù),而不適用于將一張表中的數(shù)據(jù)導(dǎo)入到另一張表里,不過,也可以使用保存文件中的INSERT語句把查詢出的數(shù)據(jù)插入到另一張表中,過程要周折一些。方法一對(duì)于SQL語句的設(shè)計(jì)更靈活一些。
來源:https://blog.csdn.net/huaishuming/article/details/74762652
總結(jié)
以上是生活随笔為你收集整理的MySQL 命令行导出、导入Select 查询结果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL导出数据遇到secure-fi
- 下一篇: mysql 导出表结构和表数据 mysq