Categories: 資料庫

PostgreSQL 資料庫 SELECT INTO 將查詢結果儲存至新資料表

介紹如何在 PostgreSQL 資料庫中使用 SELECT INTO 將查詢結果儲存至新資料表中。

建立測試用資料

為了示範 SELECT INTO 的使用方式,我們先建立一張測試用的 products 資料表:

-- 建立 products 資料表
CREATE TABLE products (
  id serial PRIMARY KEY,
  name VARCHAR (255),
  price INTEGER,
  last_update DATE
);

接著新增一些測試用的資料:

-- 新增資料
INSERT INTO products (name, price, last_update) VALUES
  ('A031', 320, '2015-10-14'),
  ('C001', 420, '2013-03-08'),
  ('B021', 280, '2013-12-02'),
  ('Y158', 690, '2015-11-21'),
  ('A202', 195, '2019-02-23'),
  ('D022', 540, '2017-03-19');

顯示測試用的資料:

-- 顯示所有資料
SELECT * FROM products;
 id | name | price | last_update
----+------+-------+-------------
  1 | A031 |   320 | 2015-10-14
  2 | C001 |   420 | 2013-03-08
  3 | B021 |   280 | 2013-12-02
  4 | Y158 |   690 | 2015-11-21
  5 | A202 |   195 | 2019-02-23
  6 | D022 |   540 | 2017-03-19
(6 rows)

SELECT INTO 查詢結果儲存至新資料表

一般在查詢資料庫時,都會根據指定條件查詢資料:

-- 查詢資料
SELECT id, name, price FROM products WHERE price BETWEEN 200 AND 400;
 id | name | price
----+------+-------
  1 | A031 |   320
  3 | B021 |   280
(2 rows)

若要將這個查詢結果儲存至新的資料表當中,可以加上 INTO 並指定新資料表的名稱,這樣就可以自動建立一張新的資料表,並將查詢結果匯入其中:

-- 將查詢結果儲存至新資料表
SELECT id, name, price INTO new_table
FROM products WHERE price BETWEEN 200 AND 400;
SELECT 2

執行成功之後,該新資料表中就會包含查詢結果的資料:

-- 顯示新資料表內容
SELECT * FROM new_table;
 id | name | price
----+------+-------
  1 | A031 |   320
  3 | B021 |   280
(2 rows)

參考資料:PostgreSQL Tutorial

Share
Published by
Office Guide
Tags: PostgreSQL

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago