Команда SQL для копирования таблицы - PullRequest
9 голосов
/ 25 сентября 2008

Что такое команда SQL для копирования таблицы из одной базы данных в другую базу данных? Я использую MySQL, и у меня есть две базы данных x и y. Предположим, у меня есть таблица в x, которая называется a, и мне нужно скопировать эту таблицу в базу данных y. Извините, если вопрос слишком новичок.

Спасибо.

Ответы [ 6 ]

8 голосов
/ 25 сентября 2008

Если две базы данных разделены, проще всего создать дамп таблицы и загрузить его во вторую базу данных. Обратитесь к руководству по вашей базе данных, чтобы увидеть, как можно выполнить дамп.

В противном случае вы можете использовать следующий синтаксис (для MySQL)

INSERT INTO database_b.table (SELECT * FROM database_a.table)
8 голосов
/ 25 сентября 2008

Если целевой таблицы не существует ....

CREATE TABLE dest_table AS (SELECT * FROM source_table);

Если целевая таблица существует

INSERT INTO dest_table (SELECT * FROM source_table);

Предостережение: протестировано только в Oracle

3 голосов
/ 25 сентября 2008

Поскольку в вашем сценарии используются две разные базы данных, правильный запрос должен быть ...

INSERT INTO Y..dest_table (SELECT * FROM source_table);

Запрос предполагает, что вы запускаете его, используя базу данных X.

1 голос
/ 25 сентября 2008

вставить бла из выбора, предложенного другими, хорошо для копирования данных в mysql.

Если вы хотите скопировать структуру таблицы, вы можете использовать show create table Tablename; .

1 голос
/ 25 сентября 2008

В командной строке

mysqldump somedb sometable -u user -p | mysql otherdb -u user -p

затем введите оба пароля.

Это работает, даже если они находятся на разных хостах (просто добавьте параметр -h как обычно), чего нельзя сделать с помощью select select.

Будьте осторожны, чтобы случайно не попасть в неправильный БД, иначе вы в конечном итоге сбросите таблицу в этом БД! (Дамп начнется с 'droptable sometable').

1 голос
/ 25 сентября 2008

Если вы просто хотите скопировать содержимое, возможно, вы ищете select into: http://www.w3schools.com/Sql/sql_select_into.asp. Это не создаст идентичную копию, просто скопирует каждую строку из одной таблицы в другую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...