Sql insert into from select: SQL INSERT INTO SELECT Statement

SQL INSERT INTO SELECT, заявление

❮ Предыдущая Следующая Глава ❯


С помощью SQL можно скопировать информацию из одной таблицы в другую.

INSERT INTO SELECT, заявление копирует данные из одной таблицы и вставляет его в существующую таблицу.


Заявление SQL INSERT INTO SELECT,

INSERT INTO SELECT, оператор выбирает данные из одной таблицы и вставляет его в существующую таблицу. Любые существующие строки в целевой таблице не изменяются.

SQL INSERT INTO SELECT, Синтаксис

Мы можем скопировать все столбцы из одной таблицы в другую, существующую таблицу:


INSERT INTO table2

SELECT * FROM table1;

Или же мы можем скопировать только те столбцы, которые мы хотим в другую, существующую таблицу:


INSERT INTO table2
(column_name(s))

SELECT column_name(s)

FROM table1;


Демо-версия базы данных

В этом уроке мы будем использовать хорошо известную базу данных Борей.

Ниже приводится подборка из «Customers» таблицы:




Пользовательский ИД Имя Клиента Контактное лицо Адрес город Почтовый индекс Страна
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

И выбор из «Suppliers» таблицы:

SupplierID Наименование поставщика Контактное лицо Адрес город Почтовый индекс Страна Телефон
1 Экзотические Liquid Шарлотта Купер 49 Гилберта St. Londona EC1 4SD Великобритания (171) 555-2222
2 Новый Орлеан Cajun наслаждений Shelley Берк PO Box 78934 Жители Нового Орлеана 70117 США (100) 555-4822
3 Homestead Бабушка Келли Regina Мерфи 707 Oxford Rd. Ann Arbor 48104 США (313) 555-5735

SQL INSERT INTO SELECT, Примеры

Копирование только несколько столбцов из «Suppliers» Into «Customers» :

пример


INSERT INTO Customers (CustomerName, Country)

SELECT SupplierName, Country FROM Suppliers;

Попробуй сам «

Копирование только немецких поставщиков в «Customers» :

пример


INSERT INTO Customers (CustomerName, Country)

SELECT SupplierName, Country FROM Suppliers
WHERE Country=’Germany’;

Попробуй сам «

❮ Предыдущая Следующая Глава ❯

Заявление SQL INSERT INTO SELECT,

w3big. com

Latest web development tutorials

Предыдущий: SQL SELECT INTO заявление

Далее: SQL CREATE DATABASE заявление

С помощью SQL, вы можете копировать информацию из одной таблицы в другую.

INSERT INTO ЗЕЬЕСТ, чтобы скопировать данные из таблицы, а затем вставить данные в существующую таблицу.


Заявление SQL INSERT INTO SELECT,

INSERT INTO ЗЕЬЕСТ, чтобы скопировать данные из таблицы, а затем вставить данные в существующую таблицу. Целевая таблица все строки, которые уже существуют, не затрагиваются.

Синтаксис SQL INSERT INTO SELECT,

Мы можем повторить все столбцы из таблицы в другую существующую таблицу:


INSERT INTO table2

SELECT * FROM table1;

Или же мы можем просто скопировать нужные столбцы в другую существующую таблицу:


INSERT INTO table2
(column_name(s))

SELECT column_name(s)

FROM table1;


Демонстрационная база данных

В этом уроке мы будем использовать w3big образец базы данных.

Ниже приводится выбранные «сайты» таблица данных:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 本教程      | http://www.w3big.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Вот «приложения» Данные APP:

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, Примеры

Копирование данных «приложения» вставляются в «сайты» в:

примеров


INSERT INTO Websites (name, country)

SELECT app_name, country FROM apps;

QQ только комплекс APP на «Сайты» в:

примеров


INSERT INTO Websites (name, country)

SELECT app_name, country FROM p
WHERE id=1;

Предыдущий: SQL SELECT INTO заявление

Далее: SQL CREATE DATABASE заявление



w3big.com |
HTML курс |
Web курс |
Web Tutorial

5 Демонстрация SQL INSERT INTO SELECT для копирования данных в таблицы

Мы узнали, что оператор INSERT используется для ввода новых записей в таблицы. Мы также знаем, что оператор SQL SELECT извлекает наборы записей из одной или нескольких таблиц базы данных.

В этом уроке мы узнаем, как объединить эти два оператора для копирования данных таблицы из одной таблицы в другую.

Комбинация простая; оператор SELECT извлекает записи из одной или нескольких таблиц, а команда INSERT INTO вводит эти записи в целевую таблицу. Простой пример использования этих двух утверждений:

INSERT INTO target_table

 

SELECT * FROM source_table;

Этот единственный оператор SQL скопирует полные данные из исходной таблицы (в команде SELECT) в целевую таблицу (указанную в INSERT INTO).

Однако при использовании этой комбинации для копирования данных следует помнить о некоторых вещах:

  • Типы данных целевой таблицы должны совпадать с типами данных исходной таблицы.
  • Если вы используете оператор SELECT без предложения WHERE, полные данные таблицы копируются в целевую таблицу.
  • Вы также можете указать несколько столбцов для копирования данных из одной таблицы в другую.

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

Пример копирования полных данных таблицы

Для демонстрации демонстрации операторов INSERT INTO и SELECT я буду использовать sto_employees в качестве исходной таблицы и sto_employees_sub в качестве целевой таблицы.

В этом примере мы полностью скопируем данные таблицы из исходной таблицы в целевую; поэтому в операторе SELECT не используется предложение WHERE :

1

2

3

4

5

6

7

8

10

11

ВЫБРАТЬ * ОТ sto_employees_sub;

 

 

 

ВСТАВИТЬ В sto_employees_sub

 

SELECT * FROM sto_employees;

 

 

 

SELECT * FROM sto_employees_sub;

На рисунке видно, что первый запрос не вернул ни одной записи из таблицы. Затем следует использование операторов INSERT INTO/SELECT для копирования данных.

После этого выполняется еще один запрос SELECT для извлечения данных из таблицы sto_employees_sub, и он показывает все записи, скопированные из исходной таблицы.

Пример копирования конкретных строк

В этом примере в таблицу sto_employees_sub копируются только те записи, для которых emp_salary больше или равно 4000 из таблицы sto_employees. Перед выполнением этого запроса я очистил таблицу, заполненную указанным выше запросом:

Запрос INSERT INTO/SELECT для копирования определенных строк:

ВСТАВИТЬ В sto_employees_sub

 

SELECT * FROM sto_employees

 

ГДЕ emp_salary >= 4000;

Набор результатов:

Вы можете увидеть столбец зарплаты, где его значение больше или равно 4000.

Пример INSERT INTO/SELECT для определенных столбцов

Вы также можете вставлять строки для определенных столбцов из одной таблицы в другую. Для этого заключите имена столбцов в круглые скобки в операторе INSERT INTO и используйте соответствующие имена столбцов в операторе SELECT.

Обратите внимание, что , если вы опустите столбец NOT NULL, это вызовет ошибку.

Для демонстрации я снова удалил все записи из целевой таблицы и выполнил этот запрос с несколькими именами столбцов:

ВСТАВИТЬ В sto_employees_sub

 

(id, emp_name, emp_age, emp_salary)

 

SELECT id, emp_name, emp_age, emp_salary FROM sto_employees;

Целевая таблица, полученная до и после выполнения этого запроса, и посмотрите результат:

Столбцы с ограничением NULL отображают значения как NULL.

Запрос на копирование данных из одной таблицы базы данных в другую

Во всех приведенных выше примерах обе таблицы существовали в одной и той же базе данных с одним и тем же именем пользователя, поэтому мы не требовали специального упоминания БД и имен пользователей.

Копирование данных обычно требуется из одной таблицы базы данных в другую в сценариях реального времени. Следующий запрос показывает, как копировать данные из одной базы данных (store_db) в другую базу данных (test_db) на том же сервере баз данных:

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

ВСТАВИТЬ В [test_db].[dbo].[sto_employees_sub]

 

ВЫБРАТЬ * ИЗ [store_db].[dbo].[sto_employees]

 

ГДЕ emp_salary МЕЖДУ 50 И 5 3

Где test_db и store_db — имена баз данных, а dbo — имя пользователя.

Наборы результатов до и после выполнения этого запроса для таблицы [test_db].[dbo].[sto_employees_sub]:

Для копирования данных с одного сервера базы данных на другой с помощью INSERT INTO с SELECT, например. локальной базы данных на удаленный сервер базы данных или наоборот, пример запроса может выглядеть так:

ВСТАВИТЬ В [экземпляр базы данных].[test_db].[dbo].[sto_employees_sub]

 

SELECT * FROM [экземпляр базы данных] [store_db].[dbo].[sto_employees]

Например, если имя сервера БД для локальной установки — «WELCOME \MSSQLTEST» , а имя удаленного сервера БД — REM-PC , то запрос должен быть таким:

ВСТАВИТЬ В [WELCOME \MSSQLTEST].[test_db].[dbo].[sto_employees_sub]

 

SELECT * FROM [REM-PC] [store_db]. [dbo].[sto_employees]

Это должно скопировать данные с удаленного сервера базы данных на локальный сервер.

Эта высота div необходима для включения закрепленной боковой панели

Sql Server Insert In Select с примерами кода

Sql Server Insert In To Select с примерами кода

В этом уроке мы будем использовать программирование, чтобы попытаться решить головоломку Sql Server Insert Into Select. Это демонстрирует приведенный ниже код.

 ВСТАВЬТЕ В ПРОДАЖИ.адреса (улица, город, штат, почтовый индекс)
ВЫБРАТЬ
улица,
Город,
государство,
почтовый индекс
ИЗ
продажи.клиенты
СОРТИРОВАТЬ ПО
Имя,
фамилия;
 

Решение ранее упомянутой проблемы Sql Server Insert Into Select также можно найти в другом методе, который будет обсуждаться ниже с некоторыми примерами кода.

 INSERT INTO my_table SELECT * FROM source_table;
INSERT INTO my_table (a, b, c) SELECT a, b, c FROM source_table;
INSERT INTO my_table (a, b, c) SELECT a, b, c FROM source_table s
ГДЕ s. my_col >= 10; 
 ВСТАВИТЬ В стол2
ВЫБЕРИТЕ * ИЗ таблицы1
ГДЕ условие; 
 ВСТАВИТЬ В стол1
 ВЫБЕРИТЕ столбец1, столбец2, столбец3 ИЗ таблицы2
 ГДЕ ваше состояние;
 
 ВСТАВИТЬ В SalesTransaction_History
 SELECT * FROM salesTransaction
 ГДЕ item_Number='Соль-1';
 
 ВСТАВИТЬ В OldCustomers
ВЫБРАТЬ *
ОТ клиентов; 

С помощью многочисленных иллюстраций мы продемонстрировали, как использовать код, написанный для решения проблемы Sql Server Insert Into Select.

Что такое вставка в выборку в SQL?

Оператор INSERT INTO SELECT копирует данные из одной таблицы и вставляет их в другую таблицу. Оператор INSERT INTO SELECT требует, чтобы типы данных в исходной и целевой таблицах совпадали. Примечание. Существующие записи в целевой таблице не затрагиваются.

Можно ли использовать select со вставкой?

Оператор select в операторе INSERT можно использовать для вставки нуля, одной или нескольких строк в таблицу из таблицы результатов оператора select. Оператор select, встроенный в оператор INSERT, ничем не отличается от оператора select, который вы используете для извлечения данных.

В чем разница между выбором в и вставкой в ​​выбор в SQL?

INSERT INTO SELECT и SELECT INTO: оба оператора могут использоваться для копирования данных из одной таблицы в другую. Но INSERT INTO SELECT можно использовать только в том случае, если целевая таблица существует, тогда как оператор SELECT INTO можно использовать, даже если целевая таблица не существует, поскольку он создает целевую таблицу, если она не существует. 13 августа 2019 г.

Как вставить данные в определенный столбец в SQL?

Синтаксис INSERT INTO Укажите как имена столбцов, так и значения для вставки: INSERT INTO имя_таблицы (столбец1, столбец2, столбец3, )

Вставляется ли в перезапись?

Заключение. Таким образом, разница между Hive INSERT INTO и INSERT OVERWRITE, INSERT INTO используется для добавления данных в таблицы Hive и секционированные таблицы, а INSERT OVERWRITE используется для удаления существующих данных из таблицы и вставки новых данных.

Как написать подзапрос в операторе вставки?

Подзапросы также можно использовать с операторами INSERT. Оператор INSERT использует данные, возвращенные из подзапроса, для вставки в другую таблицу. Выбранные данные в подзапросе могут быть изменены с помощью любой функции символов, даты или числа. Основной синтаксис следующий.

В чем разница между вставкой и выбором?

Оператор INSERT INTO SELECT в SQL Server используется для копирования данных из исходной таблицы и вставки их в целевую таблицу. Оператор SELECT INTO в SQL Server используется для копирования данных из одной (исходной) таблицы в новую таблицу. INSERT INTO SELECT требует, чтобы целевая таблица была предварительно определена.20 декабря 2021 г.

Как вставить данные в определенную строку в SQL?

Чтобы вставить строку в таблицу, вам нужно указать три вещи: Во-первых, таблицу, в которую вы хотите вставить новую строку, в предложении INSERT INTO. Во-вторых, разделенный запятыми список столбцов в таблице, заключенный в круглые скобки.