Добавление данных
- Добавление полных строк
- Добавление части строки
- Добавление выбранных данных
- Копирование данных из одной таблицы в другую
Копирование данных из одной таблицы в другую
Это — другая форма добавления данных, при использовании которой оператор INSERT вообще не применяется. Чтобы скопировать содержимое какой-то таблицы в новую (которая создается "на лету"), можно использовать оператор SELECT INTO.
Не поддерживается в DB2
В отличие от оператора INSERT SELECT, посредством которого данные добавляются в уже существующую таблицу, SELECT INTO копирует данные в новую таблицу (и в зависимости от того, о какой СУБД идет речь, может перезаписать таблицу, если такая уже существует).
Разница между INSERT SELECT И SELECT INTO
Следующий пример демонстрирует способ применения оператора SELECT INTO:
Этот оператор SELECT создает новую таблицу с именем CustCopy и копирует в нее все содержимое таблицы Customers.
Поскольку был использован оператор SELECT *, каждый столбец таблицы Customers будет создан в таблице CustCopy (и соответственно заполнен). Чтобы скопировать только часть доступных столбцов, следует явно указать имена столбцов, а не использовать метасимвол * (звездочка).
В СУБД MySQL и Oracle используется несколько иной синтаксис:
SELECT *
FROM Customers;
При использовании оператора SELECT INTO нужно обращать внимание на следующие моменты.
• Можно использовать любые опции и предложения оператора SELECT, включая WHERE и GROUP BY.
• Для добавления данных из нескольких таблиц можно использовать объединения.
• Данные можно добавить только в одну таблицу независимо от того, из скольких таблиц они были извлечены.
Создание копий таблиц
Оператор select into является прекрасным средством создания копий таблиц для экспериментов с новыми для вас операторами SQL. Создав копию, вы получите возможность проверить возможности SQL на этой копии, а не на таблицах реальной базы данных.
Больше примеров



