SQL INSERT INTO SELECTоператоры
С помощью SQL можно копировать информацию из одной таблицы в другую.
Оператор INSERT INTO SELECT копирует данные из одной таблицы и вставляет данные в существующую таблицу.
SQL оператор INSERT INTO SELECT
Оператор INSERT INTO SELECT копирует данные из одной таблицы и вставляет данные в существующую таблицу. Любые существующие строки в целевой таблице не будут затронуты.
Синтаксис SQL INSERT INTO SELECT
Мы можем скопировать все столбцы из одной таблицы и вставить их в другую существующую таблицу:
SELECT * FROM table1;
Или мы можем скопировать только указанные столбцы и вставить их в другую существующую таблицу:
(column_name(s))
SELECT column_name(s)
FROM table1;
Демонстрационная база данных
В этом руководстве мы будем использовать образец базы данных EXAMPLE.
Ниже представлены данные, выбранные из таблицы "Websites":
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | Example | http://www.example.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Ниже приведены данные из приложения "apps":
mysql> SELECT * FROM apps; +----+------------+-------------------------+---------+ | id | app_name | url | country | +----+------------+-------------------------+---------+ | 1 | QQ APP | http://im.qq.com/ | CN | | 2 | 微博 APP | http://weibo.com/ | CN | | 3 | 淘宝 APP | https://www.taobao.com/ | CN | +----+------------+-------------------------+---------+ 3 rows in set (0.00 sec)
Примеры SQL INSERT INTO SELECT
Скопируйте данные из "apps" и вставьте их в "Websites":
Пример
SELECT app_name, country FROM apps;
Скопируйте только данные с id=1 в "Websites":
Пример
SELECT app_name, country FROM apps
WHERE id=1;