SELECT INTO
数据库
SELECT INTO
PostgreSQL SELECT INTO
语句允许您从一个查询的结果创建一个新表并将结果集插入到新表,它与 CREATE TABLE ... AS
语句功能相同
SELECT INTO 语法
要使用 PostgreSQL SELECT INTO
语句创建一个新表,请遵循以下语法:
SELECT column_list
INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
[other_clauses]
column_list 是查询语句要返回的中的列或者表达式的列表。这些列最终成为新表中的列。您可以使用 DISTINCT
INTO
之后的 new_table 是要创建的表的名字。TEMPORARY
或者TEMP
代表新表是一个临时表。TABLE
关键字是可以省略other_clauses 是 SELECT 语句中可用的子句,这包括:
SELECT INTO 示例
我们将使用 PostgreSQL Sakila 示例数据库 里的数据表进行演示
在 Sakila 示例数据库 中,film 表存储了一个 DVD 商店中的可以租赁的所有的影片
使用 SELECT INTO 完整复制影片表
要将 film 表的所有的行复制到一个新表 film_copy,请使用下面的语句:
SELECT *
INTO TABLE film_copy
FROM film;
SELECT 1000
以下语句从新表中查询数据已验证表是否创建成功:
SELECT count(*) FROM film_copy;
count
-------
1000
使用 SELECT INTO 完整复制部分行和列
要将 film 表所有评级为 G 的影片的标题复制到一个新表 film_ranting_g_title,请使用下面的语句:
SELECT title
INTO TABLE film_ranting_g_title
FROM film
WHERE rating = 'G';
SELECT 178
以下语句从新表中查询数据已验证表是否创建成功:
SELECT * FROM film_ranting_g_title;
title
---------------------------
ACE GOLDFINGER
AFFAIR PREJUDICE
AFRICAN EGG
ALAMO VIDEOTAPE
AMISTAD MIDSUMMER
ANGELS LIFE
ANNIE IDENTITY
ARMAGEDDON LOST
ATLANTIS CAUSE
AUTUMN CROW
BAKED CLEOPATRA
...
(178 行记录)
Powered by Waline v3.0.0-alpha.11