2014-02-06 138 views
0

我在phpMyadmin,db1和db2中有兩個SQL數據庫。說db1有3個表:1_a,1_b,1_c;而db2有3個表:2_d,2_e,2_f。我想將db1的1_a,1_b,1_c轉移到db2,並用db2的2_d,2_e,2_f替換。因此,首先,我將不得不從db1中選擇1_a,1_b,1_c表格,並將它們導出爲SQL文件。 之後,我將不得不從db2中選擇2_d,2_e,2_f表,並從db2中刪除它們。 第三,我只是從第一步導入文件到db2。SQL查詢刪除多個表並從多個表中選擇

我想知道什麼是第一步和第二步的正確的SQL語句?假設我要移動的所有表都有它們的前綴,如1_x和2_x,並且db1和db2中還有一些其他表沒有前綴,我不想觸摸它們。欣賞你的答案。

回答

1

可以使用mysqldump備份3個表或使用select ... into outfile語法CSV輸出:

SELECT * FROM `1_a` INTO '/home/1_a.txt' 
SELECT * FROM `1_b` INTO '/home/1_b.txt' 
SELECT * FROM `1_c` INTO '/home/1_c.txt' 

或更好,但使用phpmyadmin backup function。 事後你應該使用

DROP TABLE `2_d`; 
DROP TABLE `2_e`; 
DROP TABLE `2_f`; 

砸在第二數據庫

+0

表是有辦法,我可以選擇一個前綴1_x所有表和2_x?就好像我有成千上萬的桌子需要操作一樣。 –

+0

刪除帶有前綴的表檢查了這一點:http://stackoverflow.com/questions/1589278/sql-deleting-tables-with-prefix –

+0

轉儲帶有前綴的表檢查了這一點:http://stackoverflow.com/questions/5268936/mysqldump的僅桌與 - 某些前綴的mysqldump-通配符 –