PostgreSQL支持功能,例如从现有表创建新表(带有数据)。 可以使用以下两种语法来实现。
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' ;
有时我也使用这种方法来临时备份表:),根据PostgresSQL,“ CREATE TABLE AS”在功能上类似于SELECT INTO。 建议使用CREATE TABLE AS。 我们也可以在上面的SQL脚本中附加'Where'子句,例如
CREATE TABLE 'NEW_TABLE_NAME' AS SELECT * FROM 'TABLE_NAME_YOU_WANT_COPY' WHERE CONDITION'
我编写了一个简单的脚本来演示上面两个CREATE TABLE AS和SELECT INTO方法的用法。
--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,'M