Поиск по сайту:
Ревнивец всегда находит больше, чем ищет (М. Скюдери).

Как скопировать таблицу в MySQL

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
16.06.2021
Как установить MySQL на Ubuntu 16.04

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

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

 

Сценарии использования

Первый случай, когда нам нужно скопировать таблицу, — это копирование определенных данных из существующей таблицы в новую. Например, в образце базы данных maxel мы можем скопировать конкретную информацию из таблицы film в новую таблицу с именем film_revised.

Рассмотрим приведенный ниже запрос для выполнения такой операции:

CREATE DATABASE copy_tb;
use copy_tb;
CREATE table film_revised SELECT title, release_year, length, rating FROM maxel.film;

 

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

mysql> SELECT * FROM film_revised LIMIT 10;
+------------------+--------------+--------+--------+
| title            | release_year | length | rating |
+------------------+--------------+--------+--------+
| ACADEMY DINOSAUR |         2006 |     86 | PG     |
| ACE GOLDFINGER   |         2006 |     48 | G      |
| ADAPTATION HOLES |         2006 |     50 | NC-17  |
| AFFAIR PREJUDICE |         2006 |    117 | G      |
| AFRICAN EGG      |         2006 |    130 | G      |
| AGENT TRUMAN     |         2006 |    169 | PG     |
| AIRPLANE SIERRA  |         2006 |     62 | PG-13  |
| AIRPORT POLLOCK  |         2006 |     54 | R      |
| ALABAMA DEVIL    |         2006 |    114 | PG-13  |
| ALADDIN CALENDAR |         2006 |     63 | NC-17  |
+------------------+--------------+--------+--------+
10 rows in set (0.00 sec)

 

Читать  Использование функции LAG в MySQL

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

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

 

Копировать таблицу + объекты

Чтобы скопировать таблицу + данные и все связанные объекты, мы используем оператор LIKE, за которым следует оператор INSERT, как показано в запросе ниже:

CREATE TABLE film_copy LIKE maxel.film;

INSERT film_copy SELECT * FROM maxel.film;

 

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

Примечание
Будьте осторожны при использовании операторов копирования для массивных таблиц, поскольку они могут использовать больше ресурсов и занять много времени для завершения.

 

Копирование таблиц из отдельных баз данных

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

Например, начните с создания новой базы данных как:

CREATE DATABASE IF NOT EXISTS multi_db;

 

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

CREATE TABLE multi_db.new_tb LIKE maxel.film;

INSERT multi_db.new_tb SELECT * FROM maxel.film;

 

Это скопирует таблицу film из базы данных maxel в новую и отобразит результат, как показано ниже:

Query OK, 1000 rows affected (0.03 sec)

Records: 1000 Duplicates: 0 Warnings: 0

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

Читать  Как найти дубликаты записей электронной почты в таблице пользователей

 

Заключение

В этой краткой статье было рассмотрено, как использовать операторы MySQL CREATE TABLE и SELECT для копирования определенных столбцов из таблицы в новую таблицу.

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Рекомендуемое
Социальные сети Социальные сети - это самый известный бесплатный метод…

Спасибо!

Теперь редакторы в курсе.