Есть довольно много способов скопировать необходимые данные из одной таблицы в базе MySQL в другую таблицу.Рассмотрим несколько примеров, что бы понять принцип работы.
Если нам необходимо полностью скопировать данные:
Такой простой запрос возьмет данные с таблицы table_2 и вставит их в table_1
Если нужно сделать копию данных из одной таблицы MySQL в другую с условием:
Данный запрос возьмет все данные с таблицы table_2 у которых столбец row=1 и вставит их в table_1
Если необходимо скопировать только нужные столбцы:
Вот такое простое решение для копирования данных из одной MySQL таблицы в другую.
Как скопировать/добавить данные из одной таблицы в другую таблицу с той же схемой в SQL Server?
Edit:
Я хочу сказать, что есть запрос
который создает table1 с той же схемой, что и данные, как в table2 .
Есть ли какой-нибудь короткий запрос, подобный этому, только для копирования всего данных только в уже существующую таблицу?
Если обе таблицы действительно имеют одинаковую схему:
В противном случае вам придется указать имена столбцов (список столбцов для newTable является необязательным, если вы указываете значение для всех столбцов и выбираете столбцы в том же порядке, что newTable схема newTable ):
Это правильный способ сделать это:
Простой способ, если новая таблица не существует, и вы хотите сделать копию старой таблицы со всем, что после этого работает в SQL Server.
. slogans are forgotten like fairy-tales were
Tag Cloud
канал RSS
Browse by Date
Blog » Копирование записей из таблицы в таблицу: INSERT-SELECT в SQL
Копирование записей из таблицы в таблицу: INSERT-SELECT в SQL
Главное, вовремя остановиться, поймав себя на написании подобного кода (пример на PHP Database Objects):
К сожалению, использование цикла — первое, что приходит в голову когда стоит задача как по полному копированию таблицы, так и по выборке и последующей вставке определённых полей и строк.
Стандарт SQL позволяет одним запросом переносить строки из одной таблицы в другую. Достаточно, вместо явного указания значений для вставки, использовать SELECT. То есть, приведённый выше пример можно переписать следующим образом:
Или, к примеру, три последних книги на вашем складе являются подержанными. Поэтому, вы не только хотите записать их в таблицу дешёвых книг, но и указать в комментарии почему на них выставлена низкая цена:
Ну и, конечно же, если нужно полное копирование всех записей одной таблицы в другую, достаточно выполнить этот запрос:
Заметьте, что если вам нужно выполнить именно копирование таблицы, а не всех записей находящихся в ней, то, быть может, производитель вашей базы данных предлагает более простое решение этой задачи, чем ручное создание пустой таблицы-копии и исполнение запроса подобного предыдущему. Например, в MySQL есть CREATE TABLE . SELECT, а в PgSQL 9.2 CREATE TABLE AS.
Подробнее о вставке выборки смотрите в документации к вашей СУБД, например: