Поиск по сайту:

Щёлкни кобылу в нос — она махнет хвостом (К. Прутков).

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

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
16 июня 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)

 

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

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

 

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

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

CREATE TABLE film_copy LIKE maxel.film;

INSERT film_copy SELECT * FROM maxel.film;

 

Читать  Миграция с MariaDB на MySQL в CentOS

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

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

 

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

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

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

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
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close