本 PostgreSQL 教程可幫助您快速瞭解 PostgreSQL。您將通過許多實際示例快速掌握 PostgreSQL,並將這些知識應用於使用 PostgreSQL 開發應用程式。 如果你是 … 尋求快速學習 PostgreSQL。 使用 PostgreSQL 作為後端資料庫管理系統開發應用程式。 ...
本 PostgreSQL 教程可幫助您快速瞭解 PostgreSQL。您將通過許多實際示例快速掌握 PostgreSQL,並將這些知識應用於使用 PostgreSQL 開發應用程式。
如果你是 …
- 尋求快速學習 PostgreSQL。
- 使用 PostgreSQL 作為後端資料庫管理系統開發應用程式。
- 從其他資料庫管理系統(例如 MySQL、Oracle 和 Microsoft SQL Server)遷移到 PostgreSQL。
您將在此網站上找到快速有效地開始使用 PostgreSQL 所需的所有信息。
PostgreSQL 教程演示了 PostgreSQL 的許多獨特功能,這些功能使其成為最先進的開源資料庫管理系統。
PostgreSQL 入門
本部分向您展示如何在 Windows、Linux 和 macOS 上安裝 PostgreSQL,幫助您開始使用 PostgreSQL。您還將學習如何使用 psql 工具連接到 PostgreSQL,以及如何將示例資料庫載入到 PostgreSQL 中進行練習。
PostgreSQL 基礎教程
首先,您將學習如何使用基本數據查詢技術從單個表中查詢數據,包括查詢數據、對結果集進行排序和過濾行。然後,您將瞭解高級查詢,例如連接多個表、使用集合操作以及構造子查詢。最後,您將學習如何管理資料庫表,例如創建新表或修改現有表的結構。
第 1 節. 查詢數據
- 簡單查詢 – 向您展示如何從單個表中查詢數據。
- 列別名 – 瞭解如何為查詢中的列或表達式分配臨時名稱。
- 排序 – 指導您如何對查詢返回的結果集進行排序。
- 去重查詢 – 為您提供一個刪除結果集中重覆行的子句。
第 2 節. 過濾數據
- WHERE – 根據指定條件過濾行。
- LIMIT – 獲取查詢生成的行的子集。
- FETCH – 限制查詢返回的行數。
- IN – 選擇與值列表中的任何值匹配的數據。
- BETWEEN – 選擇值範圍內的數據。
- LIKE – 基於模式匹配過濾數據。
- IS NULL – 檢查值是否為空。
第 3 節. 連接多個表
- 連接 – 向您展示 PostgreSQL 中連接的簡要概述。
- 表別名 – 描述如何在查詢中使用表別名。
- 內連接 – 從一個表中選擇在其他表中具有相應行的行。
- 左連接 – 從一個表中選擇行,這些行在其他表中可能有也可能沒有對應的行。
- 自連接 – 通過將表與自身進行比較來將表與其自身連接。
- 完全外連接 – 使用完全連接查找一個表中在另一個表中沒有匹配行的行。
- 交叉連接 – 生成兩個或多個表中的行的笛卡爾積。
- 自然連接 – 根據連接表中的公共列名稱,使用隱式連接條件連接兩個或多個表。
第 4 節. 數據分組
第 5 節. 集合運算
- UNION – 將多個查詢的結果集合併為一個結果集。
- INTERSECT – 組合兩個或多個查詢的結果集並返回一個結果集,該結果集的行都出現在兩個結果集中。
- EXCEPT – 返回第一個查詢中未出現在第二個查詢的輸出中的行。
第 6 節. 分組集、多維分組和彙總
第 7 節. 子查詢
- 子查詢 – 編寫一個嵌套在另一個查詢中的查詢。
- ANY – 通過將某個值與子查詢返回的一組值進行比較來檢索數據。
- ALL – 通過將值與子查詢返回的值列表進行比較來查詢數據。
- EXISTS – 檢查子查詢返回的行是否存在。
第 8 節. 公共表表達式
- PostgreSQL CTE – 向您介紹 PostgreSQL 公共表表達式或 CTE。
- 使用 CTE 的遞歸查詢 – 討論遞歸查詢並學習如何在各種上下文中應用它。
第 9 節. 修改數據
在本節中,您將學習如何使用INSERT
語句向表中插入數據、使用UPDATE
語句修改現有數據以及使用DELETE
語句刪除數據。此外,您還將學習如何使用 UPSERT 語句來合併數據。
- 插入 – 指導您如何將單行插入表中。
- 插入多行 – 向您展示如何在表中插入多行。
- 更新 – 更新表中的現有數據。
- 連接更新 – 根據另一個表中的值更新表中的值。
- 刪除 – 刪除表中的數據。
- 連接刪除 – 根據另一個表中的值刪除表中的行。
- UPSERT – 如果新行已存在於表中,則插入或更新數據。
第 10 節. 事務
- PostgreSQL 事務 – 向您展示如何使用 BEGIN、COMMIT 和 ROLLBACK 語句處理 PostgreSQL 中的事務。
第 11 節. 導入和導出數據
您將學習如何使用COPY
命令,以 CSV 文件格式對 PostgreSQL 數據進行導入和導出。
- 將 CSV 文件導入表中 – 向您展示如何將 CSV 文件導入表中。
- 將 PostgreSQL 表導出到 CSV 文件 – 向您展示如何將表導出到 CSV 文件。
- 使用 DBeaver 導出表 – 向您展示如何使用 DBeaver 將表導出到不同類型和格式的文件。
第 12 節. 管理表
在本節中,您將開始探索 PostgreSQL 數據類型,並向您展示如何創建新表和修改現有表的結構。
- 數據類型 – 涵蓋最常用的 PostgreSQL 數據類型。
- 創建表 – 指導您如何在資料庫中創建新表。
- SELECT INTO 和 CREATE TABLE AS – 向您展示如何從查詢的結果集創建新表。
- 使用 SERIAL 自增列 – 使用 SERIAL 將自動增量列添加到表中。
- 序列 – 向您介紹序列並描述如何使用序列生成數字序列。
- 標識列 – 向您展示如何使用標識列。
- 更改表 – 修改現有表的結構。
- 重命名錶 – 將表的名稱更改為新名稱。
- 添加列 – 向您展示如何向現有表添加一列或多列。
- 刪除列 – 演示如何刪除表的列。
- 更改列數據類型 – 向您展示如何更改列的數據。
- 重命名列 – 說明如何重命名錶中的一列或多列。
- 刪除表 – 刪除現有表及其所有依賴對象。
- 截斷表 – 快速有效地刪除大表中的所有數據。
- 臨時表 – 向您展示如何使用臨時表。
- 複製表 – 向您展示如何將表格複製到新表格。
第 13 節. 瞭解 PostgreSQL 約束
- 主鍵 – 說明在創建表或向現有表添加主鍵時如何定義主鍵。
- 外鍵 – 展示如何在創建新表時定義外鍵約束或為現有表添加外鍵約束。
- 檢查約束 – 添加邏輯以基於布爾表達式檢查值。
- 唯一約束 – 確保一列或一組列中的值在整個表中是唯一的。
- 非空約束 – 確保列中的值不是
NULL
。
第 14 節. 深入瞭解 PostgreSQL 數據類型
- 布爾型 – 使用布爾數據類型存儲
TRUE
和FALSE
值。 - 字元型 – 瞭解如何使用各種字元類型,包括
CHAR
、VARCHAR
和TEXT
。 - NUMERIC – 向您展示如何使用
NUMERIC
類型來存儲需要精度的值。 - 整型 – 向您介紹 PostgreSQL 中的各種整數類型,包括
SMALLINT
、INT
和BIGINT
。 - DATE – 引入
DATE
用於存儲日期值的數據類型。 - 時間戳 – 快速瞭解時間戳數據類型。
- 間隔 – 向您展示如何使用間隔數據類型有效地處理一段時間。
- TIME – 使用
TIME
數據類型來管理一天中的時間值。 - UUID – 指導您如何使用
UUID
數據類型以及如何使用提供的模塊生成UUID
值。 - 數組 – 向您展示如何使用數組,並向您介紹一些用於數組操作的方便函數。
- hstore – 向您介紹數據類型,它是存儲在 PostgreSQL 中單個值中的一組鍵/值對。
- JSON – 說明如何使用 JSON 數據類型,並向您展示如何使用一些最重要的 JSON 運算符和函數。
- 用戶定義的數據類型 – 向您展示如何使用
CREATE DOMAIN
和CREATE TYPE
語句創建用戶定義的數據類型。
第 15 節. 條件表達式和運算符
CASE
– 向您展示如何使用CASE
表達式構成條件查詢。COALESCE
– 返回第一個非空參數。您可以使用它將NULL
替換為一個預設值。NULLIF
– 如果第一個參數等於第二個參數則返回NULL
。CAST
– 從一種數據類型轉換為另一種數據類型,例如,從字元串轉換為整數,從字元串轉換為日期。
第 16 節. PostgreSQL 實用程式
- psql 命令 – 向您展示最常見的 psql 命令,幫助您更快、更有效地與 psql 交互。
第 17 節. PostgreSQL 技巧
- 如何比較兩個表 – 描述如何比較資料庫中兩個表中的數據。
- 如何在 PostgreSQL 中刪除重覆行 – 向您展示從表中刪除重覆行的各種方法。
- 如何生成某個範圍內的隨機數 – 說明如何生成特定範圍內的隨機數。
- EXPLAIN 語句 – 指導您如何使用
EXPLAIN
語句返回查詢的執行計劃。 - PostgreSQL 對比 MySQL – 在功能方面比較 PostgreSQL 和 MySQL。
PostgreSQL 高級教程
這個 PostgreSQL 高級教程涵蓋了高級概念,包括存儲過程、索引、視圖、觸發器和資料庫管理。
PostgreSQL PL/pgSQL
此 PostgreSQL 存儲過程部分將逐步向您展示如何使用 PL/pgSQL 過程語言開發 PostgreSQL 用戶定義函數。
PostgreSQL 觸發器
本節向您介紹 PostgreSQL 觸發器概念,並展示如何在 PostgreSQL 中管理觸發器。
PostgreSQL 視圖
我們將向您介紹資料庫視圖概念,並向您展示如何管理視圖,例如在資料庫中創建、更改和刪除視圖。
PostgreSQL 索引
PostgreSQL 索引是增強資料庫性能的有效工具。索引可以幫助資料庫伺服器比沒有索引時更快地找到特定行。
PostgreSQL 管理
PostgreSQL 管理涵蓋 PostgreSQL 資料庫伺服器最重要的活動,包括角色和資料庫管理、備份和恢復。
PostgreSQL 函數
PostgreSQL 為內置數據類型提供了大量的函數。本節向您展示如何使用一些最常用的 PostgreSQL 函數。
應用程式編程介面
本節向您展示,如何從使用流行編程語言(例如 Java、Python 和 PHP)的應用程式,與 PostgreSQL 資料庫進行交互。
- PostgreSQL Java 教程 – 此 PostgreSQL JDBC 部分向您展示,如何使用 Java JDBC 驅動程式與 PostgreSQL 資料庫進行交互。
- PostgreSQL Python 教程 – 此 PostgreSQL Python 部分向您展示,如何使用 Python 編程語言與 PostgreSQL 資料庫進行交互。