2014-02-06 3 views
0

У меня есть две базы данных SQL в phpMyadmin, db1 и db2. Скажем, db1 имеет 3 таблицы: 1_a, 1_b, 1_c; и db2 имеет 3 таблицы: 2_d, 2_e, 2_f. Я хотел бы перенести свои 1_a, 1_b, 1_b, 1_c на db2 и заменить db2 на 2_d, 2_e, 2_f.SQL-запрос для удаления нескольких таблиц и выбора из нескольких таблиц

Итак, во-первых, мне нужно будет выбрать таблицы 1_a, 1_b, 1_c из db1 и экспортировать их как файл SQL. После этого мне нужно будет выбрать 2_d, 2_e, 2_f таблицы из db2 и удалить их из db2. В-третьих, я просто импортирую файл с первого шага на db2.

Мне интересно, какие правильные операторы 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-маски –

Смежные вопросы