PostgreSQL – Copiar tabla

PostgreSQL permite copiar una tabla existente, incluida la estructura de la tabla y los datos, mediante el uso de varias formas de declaración de tabla de copia de PostgreSQL. Para copiar una tabla por completo, incluida la estructura de la tabla y los datos, use la siguiente declaración.

Syntax:
CREATE TABLE new_table AS 
TABLE existing_table;

Para copiar una estructura de tabla sin datos, los usuarios deben agregar la cláusula SIN DATOS a la instrucción CREATE TABLE de la siguiente manera:

Syntax:
CREATE TABLE new_table AS 
TABLE existing_table 
WITH NO DATA;

Para copiar una tabla con datos parciales de una tabla existente, los usuarios pueden usar la siguiente instrucción:

Syntax:
CREATE TABLE new_table AS 
SELECT
*
FROM
    existing_table
WHERE
    condition;

La condición en la cláusula WHERE de la consulta define qué filas de la tabla existente se copiarán en la nueva tabla.

Nota: Todas las declaraciones anteriores copian la estructura y los datos de la tabla, pero no copian los índices y las restricciones de la tabla existente.

Ejemplo:
Crea una nueva tabla nombrada contacts para la demostración usando la siguiente declaración:

CREATE TABLE contacts(
    id SERIAL PRIMARY KEY,
    first_name VARCHAR NOT NULL,
    last_name VARCHAR NOT NULL,
    email VARCHAR NOT NULL UNIQUE
);

Ahora agreguemos algunos datos a la contacts tabla usando la siguiente declaración:

INSERT INTO contacts(first_name, last_name, email) 
VALUES('Raju', 'Kumar', 'rajukumar@gmail.com'),
      ('Nikhil', 'Aggarwal', 'nikhil@gmail.com');

Para copiar el contacts a una nueva tabla, por ejemplo, contacts_backup tabla, utilice la siguiente declaración:

CREATE TABLE contact_backup 
AS TABLE contacts;

Para verificar lo anterior, use la siguiente declaración:

SELECT * FROM contact_backup;

Producción:

También podemos verificar el tipo de datos y la estructura de la tabla contact_backup usando el siguiente comando:

\d contact_backup;

Dará como resultado lo siguiente:

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *