SQL SELECT INTOИнструкции


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

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


Оператор SQL SELECT INTO

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

Примечание:

База данных MySQL не поддерживает инструкцию SELECT ... INTO, но поддерживаетINSERT INTO ... SELECT 。

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

CREATE TABLE 新表
AS
SELECT * FROM 旧表 

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

Предположим, есть таблица с именем employees, содержащая следующие данные:

EmployeeIDFirstNameLastNameAgeОтдел
1ДжонДоу30Sales
2ДжейнСмит25HR
3СэмКоричневый28ИТ

Чтобы создать новую таблицу с именемemployees_backupи вставитьemployeesвсе данные из таблицы в новую таблицу, можно использовать следующий оператор SQL:

SELECT *
INTO employees_backup
FROM employees;

После выполнения этого оператора новаяemployees_backupтаблица будет содержать только данные сотрудников старше 25 лет.

SELECT EmployeeID, FirstName, LastName, Age, Department
INTO employees_backup
FROM employees
WHERE Age > 25;

Примечания по использованию

Структура таблицы:

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

Поддержка баз данных:

  • SELECT INTOЭтот оператор очень распространён в SQL Server, но в MySQL и PostgreSQL обычно используетсяCREATE TABLE ... AS SELECTоператор.

Альтернативы в других базах данных

MySQL и PostgreSQL

В MySQL и PostgreSQL можно использоватьCREATE TABLE ... AS SELECTдля достижения аналогичной функциональности:

CREATE TABLE employees_backup AS
SELECT EmployeeID, FirstName, LastName, Age, Department
FROM employees
WHERE Age > 25;
Другие расширения