Comment dupliquer une table dans PostgreSQL?

Comment dupliquer une table dans PostgreSQL?
De nombreux utilisateurs demandent la duplication d'un tableau sans les créer à nouveau et ajouter des données dans PostgreSQL. Les commandes de duplication peuvent être utilisées ici. Voyons-le en ouvrant la GUI Pgadmin à partir du menu de démarrage du bureau Windows 10. Ajoutez le mot de passe de votre serveur deux fois sur demandé. Après cela, vous obtiendrez une interface d'application utilisateur graphique PGADMIN de PostgreSQL. Dans les bases de données, vous pouvez explorer beaucoup de choses. Vous trouverez une base de données Postgres qui a déjà été définie et construite par PostgreSQL dans le processus d'installation et de configuration. Donc, vous n'avez pas besoin de créer une nouvelle base de données.

Exemple 01:

Ayons notre premier exemple pour dupliquer un tableau déjà défini dans Postgres. Lors de l'exploration de la base de données Postgres, vous trouverez l'option des tables. Créez une nouvelle table «Tester» avec quelques colonnes enregistrées dedans. Vous pouvez trouver ce tableau sous les options d'un tableau lors de l'exploration, comme indiqué dans l'image ci-dessous.

Veuillez appuyer sur l'icône de l'outil de requête pour l'ouvrir. Lorsqu'il s'ouvre, écrivez la requête sélectionnée pour récupérer les enregistrements de «test» de table nouvellement créés selon la commande ci-dessous. Appuyez sur l'icône de "Exécuter" pour exécuter cette commande. La sortie montre trois tables différentes «Tester» colonnes avec leurs enregistrements, E.g. Id, fname et lname.

# SELECT * FROM TEST;

Maintenant, il est temps de créer une table en double «dup_test» pour le tableau «test». Alors, ouvrez d'abord le nouvel onglet d'un outil de requête et écrivez la commande indiquée ci-dessous. Cette requête a sa sous-partie pour récupérer tous les enregistrements du tableau «Tester» en utilisant l'instruction SELECT. La commande Create Table a été utilisée pour créer un nouveau tableau «dup_test» de la même manière que le tableau «test». L'instruction SELECT a récupéré toutes les données et les copier dans le tableau «dup_test». Exécutez la requête à l'aide de l'icône «Exécuter» à partir de la barre des tâches supérieure. Lors de l'exécution de cette requête, PostgreSQL montre le message de réussite dans la zone de sortie dans la section des messages.

# Créer une table DUPLICATE_TABLE_NAME AS (SELECT * FROM TABLE_NAME);

Lorsque vous explorez la liste des tables, il vous montre les deux tables, e.g. dup_test et tester.

Lorsque nous vérifions le tableau nouvellement créé «dup_test» en utilisant la requête de sélection dans la zone de l'outil de requête, nous avons constaté qu'il contient les mêmes données et structure que le «test» du tableau. Ainsi, l'enregistrement et la structure du tableau «test» ont été entièrement dupliqués dans le tableau «dup_test».

# Select * dans table_name;

Exemple 02:

Un utilisateur peut également créer une table en double dans PostgreSQL à l'aide d'une autre commande. Cette duplication se fera sans la duplication des données de table. Par conséquent, nous utiliserons le mot-clé «sans données» après l'instruction SELECT selon la requête ci-dessous. La requête a créé un nouveau tableau nommé «Duplicate» avec une instruction CREATE Table et en copie la structure d'un tableau «Test» via l'instruction SELECT. L'énoncé «sans données» sera utilisé pour empêcher cette requête pour copier les données d'un tableau «Tester» à un tableau «Duplicate». Lors de l'exécution, la requête a réussi selon la sortie ci-dessous, et le tableau a été dupliqué avec succès.

# Créer une table Table_name AS (SELECT * FROM TABLE_NAME) sans données;

Vous pouvez trouver ce tableau dans la section «Tables» de PostgreSQL comme ci-dessous.

Lors de la vérification des enregistrements d'un tableau nouvellement dupliqué nommé «Duplicate» avec la requête sélectionnée comme ci-dessous, nous avons constaté que la structure d'un tableau est la même que le tableau «test». Il n'y a aucun enregistrement dans ce tableau en raison de l'utilisation de l'énoncé «sans données» dans la requête. Par conséquent, la requête a réussi.

# Select * dans table_name;

Exemple 03:

Un autre moyen rapide et le plus simple de dupliquer une table consiste à utiliser l'instruction «AS Table» dans la commande Create Table de PostgreSQL. Dans ce cas, nous verrons comment cette requête fonctionne comme par magie. Donc, nous avons ouvert l'outil de requête par son icône. Ensuite, nous devons écrire la requête ci-dessous. Nous avons créé un tableau nommé «Nouveau» comme une copie d'un tableau «Test» par une clause «comme table» dans notre requête. Essayez la commande dans la zone de requête du shell de ligne de commande de PostgreSQL pour voir les résultats. Cliquez sur l'icône Exécuter à partir de la barre de tâche d'interface utilisateur graphique PGADMIN ou appuyez sur la touche «Entrée» à partir du clavier si vous travaillez dans le shell de commande de SQL pour exécuter cette requête. Vous verrez que la requête fonctionne correctement selon la sortie indiquée dans la zone de sortie de l'instantané, E.g. messages. Cela signifie qu'un «test» de table a été dupliquée avec succès et qu'un nouveau tableau «nouveau» a été créé dans la base de données Postgres.

# Créer une table Table_To_be_Dupliated en tant que table table_to_be_copied_from;

Vous pouvez voir le tableau nouvellement créé «Nouveau» dans la liste des tables sous la base de données Postgres.

En récupérant le contenu d'un tableau «Nouveau» par l'outil de requête à l'aide d'une commande SELECT, il montre les mêmes données que le tableau «Test» avec la structure, E.g. Noms de colonne.

Exemple 04:

Ayons un autre exemple simple pour illustrer le concept de duplication. Cette fois, nous avons créé un tableau «nouveau» dans la base de données Postgres de l'interface utilisateur graphique PGADMIN. Ce tableau contient 10 enregistrements dans ses quatre colonnes, E.g. ID, nom, ville et âge. Voyons les enregistrements de la table «Nouveau» en utilisant l'outil de requête. Nous avons essayé la commande ci-dessous dans la zone de requête pour récupérer la colonne «nouvelle» Ordre par ID de la table. La sortie de cette commande affiche les 10 enregistrements pour certains utilisateurs.

# Select * FROM TABLE_NAME ORDER par "Column_name" ASC;

Pour créer une table en double, ouvrez un nouvel onglet pour l'outil de requête. Nous avons utilisé la commande ci-dessous pour créer un nouveau tableau «Duplicate» comme le tableau «nouveau» illustré ci-dessus. Nous avons utilisé la clause «sans données» dans cette requête pour ne pas copier le contenu d'un tableau. Au lieu de cela, cette requête ne fera qu'une copie d'une structure d'une table «nouvelle». Donc, après avoir écrit cette requête dans la zone de requête, appuyez sur le bouton d'exécution affiché dans la barre des tâches de Pgadmin. La requête sera exécutée et le message de réussite de la table en double sera affiché dans la zone de sortie de l'outil de requête selon l'instantané ci-dessous.

# Créer une table DUPLICATE_TABLE_NAME AS TABLE TABLE_NAME sans données;

Après le duplication et créé une table, voyons la table dupliquée nouvellement créée, E.g. "dupliquer". Nous avons donc récupéré le contenu d'un tableau «Duplicate» tout en utilisant la requête de sélection dans la zone de requête commandée par la colonne «ID». Nous avons vu que la structure du tableau «en double» est la même que le tableau «nouveau». Ce tableau n'a pas copie les enregistrements du tableau «Nouveau» comme utilisant la clause «sans données».

# SELECT * FROM TABLE_NAME ORDER par «ID» ASC;

Conclusion:

Nous avons discuté de différentes commandes postgresql pour dupliquer un tableau. Nous avons vu comment dupliquer une structure de table avec et sans ses données. Toutes ces commandes sont tout aussi efficaces pour être utilisées sur le shell de ligne de commande de PostgreSQL.