PostgreSQL - Erstellen Sie eine Tabelle aus einer vorhandenen Tabelle

PostgreSQL - Tabelle aus vorhandener Tabelle erstellen

PostgreSQL-Unterstützung funktioniert wie das Erstellen einer neuen Tabelle (mit Daten) aus einer vorhandenen Tabelle. Dies kann mit folgenden zwei Syntax erreicht werden.

1) CREATE TABLE 'NEW_TABLE_NAME' AS SELECT * FROM 'TABLE_NAME_YOU_WANT_COPY';

2) SELECT * INTO 'NEW_TABLE_NAME' FROM 'TABLE_NAME_YOU_WANT_COPY' ;

Manchmal verwende ich diese Methode auch, um eine temporäre Tabelle zu sichern :), laut PostgresSQL ähnelt 'CREATE TABLE AS' funktional SELECT INTO. CREATE TABLE AS ist die empfohlene Syntax. Wir können auch die ‘Where’ -Klausel in das obige SQL-Skript wie folgt einfügen

CREATE TABLE 'NEW_TABLE_NAME' AS SELECT * FROM 'TABLE_NAME_YOU_WANT_COPY' WHERE CONDITION'

Ich schreibe ein einfaches Skript, um die Verwendung der beiden oben genannten Methoden CREATE TABLE AS und SELECT INTO zu demonstrieren.

--Create a student table for demo
CREATE TABLE STUDENT(
     SID bigserial NOT NULL,
     NAME character varying(50) NOT NULL
)

--Insert two records for testing
INSERT INTO STUDENT VALUES(1,'MKYONG');
INSERT INTO STUDENT VALUES(2,'MKYONG2');

--1,example
--2,example2
SELECT * FROM STUDENT;

--create a backup table (student_bk) from student table
CREATE TABLE STUDENT_BK AS SELECT * FROM STUDENT;

--1,example
--2,example2
SELECT * FROM STUDENT_BK;

--create a backup table (student_bk2) from student table
SELECT * INTO STUDENT_BK2 FROM STUDENT;

--1,example
--2,example2
SELECT * FROM STUDENT_BK2;