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;