位置:首页 > 易百教程 > PostgreSQL从现有表创建新表

PostgreSQL从现有表创建新表

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' ;

有时也用这个方法来临时备份表:),按照PostgreSQL,CREATE TABLE AS 功能上类似于 SELECT INTOCREATE TABLE AS是推荐的语法。我们还可以追加“Where”子句中像上面的SQL脚本。

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,'MKYONG');
INSERT INTO STUDENT VALUES(2,'MKYONG2');

--1,yiibai
--2,yiibai2
SELECT * FROM STUDENT;

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

--1,yiibai
--2,yiibai2
SELECT * FROM STUDENT_BK;

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

--1,yiibai
--2,yiibai2
SELECT * FROM STUDENT_BK2;


标签:PostgreSQL    创建表