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

установить и настроить PostgreSQL на Ubuntu База данных

Многие пользователи просят дублировать таблицу без ее повторного создания и добавления данных в PostgreSQL. Здесь можно использовать команды дублирования. Давайте посмотрим на это, открыв графический интерфейс pgAdmin из меню «Пуск» на рабочем столе Windows 10. Дважды укажите пароль вашего сервера по запросу. После этого вы получите графический пользовательский интерфейс pgAdmin для PostgreSQL. В базах данных вы можете исследовать многие вещи. Вы найдете базу данных Postgres, которая уже была определена и создана PostgreSQL в процессе установки и настройки. Итак, вам не нужно создавать новую базу данных.

Пример 1

Давайте рассмотрим наш первый пример для дублирования таблицы, уже определенной в Postgres. Изучив базу данных Postgres, вы найдете вариант Таблицы. Создайте новую таблицу «test» с записью в ней нескольких столбцов. Вы можете найти эту таблицу под опциями таблицы после ее изучения, как показано на изображении ниже.

Давайте рассмотрим наш первый пример для дублирования таблицы

Нажмите на значок инструмента запросов, чтобы открыть его. Когда он откроется, напишите в него запрос SELECT, чтобы получить «тестовые» записи только что созданной таблицы в соответствии с приведенной ниже командой. Нажмите на значок «Выполнить», чтобы выполнить эту команду. В выходных данных показаны три различных «тестовых» столбца таблицы с их записями, например, ID, Fname и Lname.

SELECT * FROM test;

Пришло время создать дублирующую таблицу

Пришло время создать дублирующую таблицу «Dup_test» для таблицы «test». Итак, сначала откройте новую вкладку инструмента запроса и напишите команду, указанную ниже. В этом запросе есть подчасть для выборки всех записей таблицы «test» с помощью оператора SELECT. Команда CREATE TABLE использовалась для создания новой таблицы «Dup_test», аналогичной таблице «test». Оператор SELECT извлекал все данные и копировал их в таблицу «Dup_test». Выполните запрос, используя значок «Выполнить» на верхней панели задач. После выполнения этого запроса PostgreSQL показывает сообщение об успешном завершении в области вывода в разделе сообщений.

CREATE TABLE duplicate_table_name AS (SELECT * FROM table_name);

После выполнения этого запроса PostgreSQL показывает сообщение

Когда вы исследуете список таблиц, он показывает вам две таблицы, например, dup_test и test.

Читайте также:  Как отключить неактивные соединения в PostgreSQL

Когда вы исследуете список таблиц, он показывает

Когда мы проверяем только что созданную таблицу «dup_test» с помощью запроса SELECT в области инструментов запроса, мы обнаружили, что она содержит те же данные и структуру, что и таблица «test». Итак, запись и структура таблицы test полностью продублированы в таблице dup_test.

SELECT * FROM table_name;

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

Пример 2

Пользователь также может создать дублирующую таблицу в PostgreSQL с помощью другой команды. Это дублирование будет выполнено без дублирования данных таблицы. Следовательно, мы будем использовать ключевое слово «no data» после оператора select в соответствии с приведенным ниже запросом. Запрос создавал новую таблицу с именем «duplicate» с помощью оператора CREATE TABLE и копировал структуру таблицы «test» с помощью оператора SELECT. Оператор «без данных» будет использоваться для предотвращения копирования данных из таблицы «test» в таблицу «duplicate». После выполнения запрос был успешным, как показано ниже, и таблица была успешно продублирована.

CREATE TABLE table_name AS (SELECT * FROM table_name) with no data;

Пользователь также может создать дублирующую таблицу в PostgreSQL

Вы можете найти эту таблицу в разделе «Таблицы» PostgreSQL, как показано ниже.

Вы можете найти эту таблицу в разделе

Проверив записи новой дублированной таблицы с именем «duplicate» с помощью запроса SELECT, как показано ниже, мы обнаружили, что структура таблицы такая же, как у таблицы «test». В этой таблице нет записей из-за использования в запросе оператора «без данных». Следовательно, запрос был успешным.

SELECT * FROM table_name;

В этой таблице нет записей из-за использования в запросе

Пример 3

Еще один быстрый и простой способ дублировать таблицу — использовать оператор «AS TABLE» в команде CREATE TABLE PostgreSQL. В этом случае мы увидим, как этот запрос работает волшебным образом. Итак, мы открыли инструмент запроса по его значку. Затем мы должны написать в нем следующий запрос. Мы создали таблицу с именем «новая» как копию таблицы «test» с помощью предложения «AS TABLE» в нашем запросе. Попробуйте выполнить команду в области запроса оболочки командной строки PostgreSQL, чтобы увидеть результаты. Щелкните значок «Выполнить» на панели задач графического пользовательского интерфейса pgAdmin или нажмите клавишу «Ввод» на клавиатуре, если вы работаете в командной оболочке SQL для выполнения этого запроса. Вы увидите, что запрос работает правильно в соответствии с выводом, показанным в области вывода моментального снимка, например сообщениями. Это означает, что таблица «test» была успешно продублирована,

CREATE TABLE table_to_be_duplicated AS TABLE table_to_be_copied_from;

Вы можете увидеть вновь созданную таблицу «новая» в списке таблиц в базе данных Postgres.

Вы можете увидеть вновь созданную таблицу «новая»

После извлечения содержимого таблицы «новая» инструментом запроса с помощью команды SELECT он показывает те же данные, что и таблица «test» вместе со структурой, например, имена столбцов.

После извлечения содержимого таблицы «новая»

Пример 4

Приведем еще один простой пример, иллюстрирующий концепцию дублирования. На этот раз мы создали таблицу «new» в базе данных Postgres графического пользовательского интерфейса pgAdmin. Эта таблица содержит 10 записей в четырех столбцах, например ID, Имя, Город и Возраст. Давайте посмотрим на записи таблицы «новая» с помощью инструмента запроса. Мы попробовали следующую команду в области запроса, чтобы получить «новый» порядок таблицы по столбцу идентификатора. Выходные данные этой команды показывают 10 записей для некоторых пользователей.

SELECT * FROM table_name ORDER BY “column_name” ASC;

Чтобы создать повторяющуюся таблицу, откройте новую

Чтобы создать повторяющуюся таблицу, откройте новую вкладку для инструмента запроса. Мы использовали приведенную ниже команду для создания новой таблицы «дубликат» в качестве «новой» таблицы, показанной выше. Мы использовали предложение «WITH NO DATA» в этом запросе, чтобы не копировать содержимое таблицы. Вместо этого этот запрос будет делать только копию структуры таблицы «новой». Поэтому после написания этого запроса в области запроса нажмите кнопку «Выполнить» на панели задач pgAdmin. Запрос будет выполнен, и сообщение об успешном завершении повторяющейся таблицы будет показано в области вывода инструмента запроса, как показано на снимке ниже.

CREATE TABLE duplicate_table_name AS TABLE table_name WITH NO DATA;

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

После копирования и создания таблицы давайте посмотрим на вновь созданную дублированную таблицу, например, «duplicate». Итак, мы получили содержимое таблицы «дубликат» при использовании запроса SELECT в области запроса, упорядоченной по столбцу «ID». Мы видели, что структура «дубликата» таблицы совпадает с «новой» таблицей. Эта таблица не копировала записи таблицы «новая», использующая предложение «WITH NO DATA».

SELECT * FROM table_name ORDER BY “ID” ASC;

Мы видели, что структура «дубликата» таблицы совпадает

Заключение

Мы обсудили различные команды PostgreSQL для дублирования таблицы. Мы видели, как дублировать структуру таблицы с данными и без них. Все эти команды одинаково эффективны для использования в оболочке командной строки PostgreSQL.

Оцените статью
bestprogrammer.ru
Добавить комментарий