PostgreSQL 教程

来源:https://www.cnblogs.com/pgsql/archive/2023/10/16/postgres-tutorial.html
-Advertisement-
Play Games

本 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 節. 數據分組

  • GROUP BY – 將行分成組並對每個組應用聚合函數。
  • HAVING – 對組應用條件。

第 5 節. 集合運算

  • UNION – 將多個查詢的結果集合併為一個結果集。
  • INTERSECT – 組合兩個或多個查詢的結果集並返回一個結果集,該結果集的行都出現在兩個結果集中。
  • EXCEPT – 返回第一個查詢中未出現在第二個查詢的輸出中的行。

第 6 節. 分組集、多維分組和彙總

  • 分組集 – 在報告中生成多個分組集。
  • CUBE – 定義多個分組集,其中包括所有可能的維度組合。
  • ROLLUP – 生成包含總計和小計的報告。

第 7 節. 子查詢

  • 子查詢 – 編寫一個嵌套在另一個查詢中的查詢。
  • ANY – 通過將某個值與子查詢返回的一組值進行比較來檢索數據。
  • ALL – 通過將值與子查詢返回的值列表進行比較來查詢數據。
  • EXISTS – 檢查子查詢返回的行是否存在。

第 8 節. 公共表表達式

第 9 節. 修改數據

在本節中,您將學習如何使用INSERT語句向表中插入數據、使用UPDATE語句修改現有數據以及使用DELETE語句刪除數據。此外,您還將學習如何使用 UPSERT 語句來合併數據。

  • 插入 – 指導您如何將單行插入表中。
  • 插入多行 – 向您展示如何在表中插入多行。
  • 更新 – 更新表中的現有數據。
  • 連接更新 – 根據另一個表中的值更新表中的值。
  • 刪除 – 刪除表中的數據。
  • 連接刪除 – 根據另一個表中的值刪除表中的行。
  • UPSERT – 如果新行已存在於表中,則插入或更新數據。

第 10 節. 事務

  • PostgreSQL 事務 – 向您展示如何使用 BEGIN、COMMIT 和 ROLLBACK 語句處理 PostgreSQL 中的事務。

第 11 節. 導入和導出數據

您將學習如何使用COPY命令,以 CSV 文件格式對 PostgreSQL 數據進行導入和導出。

第 12 節. 管理表

在本節中,您將開始探索 PostgreSQL 數據類型,並向您展示如何創建新表和修改現有表的結構。

  • 數據類型 – 涵蓋最常用的 PostgreSQL 數據類型。
  • 創建表 – 指導您如何在資料庫中創建新表。
  • SELECT INTO 和 CREATE TABLE AS – 向您展示如何從查詢的結果集創建新表。
  • 使用 SERIAL 自增列 – 使用 SERIAL 將自動增量列添加到表中。
  • 序列 – 向您介紹序列並描述如何使用序列生成數字序列。
  • 標識列 – 向您展示如何使用標識列。
  • 更改表 – 修改現有表的結構。
  • 重命名錶 – 將表的名稱更改為新名稱。
  • 添加列 – 向您展示如何向現有表添加一列或多列。
  • 刪除列 – 演示如何刪除表的列。
  • 更改列數據類型 – 向您展示如何更改列的數據。
  • 重命名列 – 說明如何重命名錶中的一列或多列。
  • 刪除表 – 刪除現有表及其所有依賴對象。
  • 截斷表 – 快速有效地刪除大表中的所有數據。
  • 臨時表 – 向您展示如何使用臨時表。
  • 複製表 – 向您展示如何將表格複製到新表格。

第 13 節. 瞭解 PostgreSQL 約束

  • 主鍵 – 說明在創建表或向現有表添加主鍵時如何定義主鍵。
  • 外鍵 – 展示如何在創建新表時定義外鍵約束或為現有表添加外鍵約束。
  • 檢查約束 – 添加邏輯以基於布爾表達式檢查值。
  • 唯一約束 – 確保一列或一組列中的值在整個表中是唯一的。
  • 非空約束 – 確保列中的值不是NULL

第 14 節. 深入瞭解 PostgreSQL 數據類型

  • 布爾型 – 使用布爾數據類型存儲TRUEFALSE值。
  • 字元型 – 瞭解如何使用各種字元類型,包括CHARVARCHARTEXT
  • NUMERIC – 向您展示如何使用NUMERIC類型來存儲需要精度的值。
  • 整型 – 向您介紹 PostgreSQL 中的各種整數類型,包括SMALLINTINTBIGINT
  • DATE – 引入DATE用於存儲日期值的數據類型。
  • 時間戳 – 快速瞭解時間戳數據類型。
  • 間隔 – 向您展示如何使用間隔數據類型有效地處理一段時間。
  • TIME – 使用TIME數據類型來管理一天中的時間值。
  • UUID – 指導您如何使用UUID數據類型以及如何使用提供的模塊生成UUID值。
  • 數組 – 向您展示如何使用數組,並向您介紹一些用於數組操作的方便函數。
  • hstore – 向您介紹數據類型,它是存儲在 PostgreSQL 中單個值中的一組鍵/值對。
  • JSON – 說明如何使用 JSON 數據類型,並向您展示如何使用一些最重要的 JSON 運算符和函數。
  • 用戶定義的數據類型 – 向您展示如何使用CREATE DOMAINCREATE TYPE語句創建用戶定義的數據類型。

第 15 節. 條件表達式和運算符

  • CASE – 向您展示如何使用CASE表達式構成條件查詢。
  • COALESCE – 返回第一個非空參數。您可以使用它將NULL替換為一個預設值。
  • NULLIF – 如果第一個參數等於第二個參數則返回NULL
  • CAST – 從一種數據類型轉換為另一種數據類型,例如,從字元串轉換為整數,從字元串轉換為日期。

第 16 節. PostgreSQL 實用程式

  • psql 命令 – 向您展示最常見的 psql 命令,幫助您更快、更有效地與 psql 交互。

第 17 節. PostgreSQL 技巧

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 資料庫進行交互。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文介紹在Anaconda中,為Python的虛擬環境安裝第三方庫與Spyder等配套軟體的方法。 在文章創建Anaconda虛擬Python環境的方法中,我們介紹了在Anaconda環境下,創建、使用與刪除Python虛擬環境的方法;而創建虛擬環境後,就需要在對應的環境內配置各類庫與軟體,本文就對 ...
  • 代碼地址: https://gitee.com/Aes_yt/middleware-demo/tree/master/rabbitmq 安裝RabbitMq 1. docker拉取鏡像 docker pull rabbitmq:3.9.29-management 2. 創建rabbitmq容器 do ...
  • 自從開始搞YouTube中文配音以來,我們一直是7*24小時,夜以繼日的在批量處理一些優質的學習資源,一方面是翻譯,另一方面是配音。這樣用戶在打開的時候,就能獲得經過我們優化的翻譯和配音了。 這次我們剛剛處理完一個油管上非常火爆的​IT類學習頻道:Edureka。 該頻道內全是IT行業的免費學習視頻 ...
  • math庫常用函數+產生隨機數總結 1.對x開平方 double sqrt(x);//返回值為double類型,輸入的x類型隨意,只要是數的類型 2.求常數e的x次方 double exp(x);//返回值為double類型,輸入的x類型隨意,只要是數的類型 3.求x的y次方 double pow( ...
  • TLS雙向認證的基本原理及示意流程圖,幫助更好的理解TLS的加密功能,及安全能力,此外還給出了部分源碼的實現及Token實現在的方案及能力 ...
  • 在我們WPF應用端的時候,和WInform開發或者Vue前端開發一樣,有時候也需要對內容進行轉義處理,如把一些0,1數值轉換為具體含義的文本信息,或者把一些布爾變數轉換為是否等,都是常見的轉換處理,本篇隨筆介紹在WPF應用端對內容使用Converter類實現內容的轉義處理的操作。 ...
  • 目錄構建riscv64-unknown-linux-musl編譯工具鏈直接下載官方工具鏈嘗試自己編譯T-head Gcc下載編譯binutils編譯交叉gcc編譯musl手動合成fip.bin和boot.sd編譯u-boot生成cvi_board_memmap.h,cvipart.h和imgs.h繼 ...
  • 前面介紹了 XN297LBW, 順帶再介紹一個非常類似的型號 XL2400, 生產商是深圳芯嶺技術, 同時市面上還有一個 WL2400, 從數據手冊看和 XL2400 是一模一樣的. XL2400 和XN297LBW 一樣都是 SOP8 封裝的2.4GHz頻段無線收發晶元, 但是零售價格更便宜, 在... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...