PostgreSQL教學

這篇PostgreSQL教學提供SQL的基本和高級概念。此PostgreSQL系列教學是專為初學者和專業人士編寫提供的,需要讀者有一些基本的資料庫和編程基礎。

PostgreSQL是一個開源對象關係資料庫管理系統(ORDBMS)。

這篇PostgreSQL系列教學包括PostgreSQL語言的所有主題,如創建資料庫,創建表,刪除資料庫,刪除表,選擇資料庫,選擇表,插入記錄,更新記錄,刪除記錄,觸發器,功能,過程,游標等。幫助您更好地瞭解PostgreSQL語言和使用PostgreSQL資料庫。

PostgreSQL是什麼?

PostgreSQL是一個功能強大的開源對象關係資料庫管理系統(ORDBMS)。 用於安全地存儲數據; 支持最佳做法,並允許在處理請求時檢索它們。

PostgreSQL(也稱為Post-gress-Q-L)由PostgreSQL全球開發集團(全球志願者團隊)開發。 它不受任何公司或其他私人實體控制。 它是開源的,其源代碼是免費提供的。

PostgreSQL是跨平臺的,可以在許多操作系統上運行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。

PostgreSQL的官方網站是:https://www.postgresql.org/ 打開如下所示 -

前提條件

在學習PostgreSQL之前,您必須具備SQL和編程語言(如C)的基本知識。

面向讀者

這篇PostgreSQL系列教學旨在幫助初學者和專業人士。

問題

我們不能保證您在此PostgreSQL資料庫教程中不會遇到任何問題。本教學中的講解,示例和代碼等只是根據作者的理解來概括寫出。由於作者水準和能力有限,因此不保正所有編寫的文章都準確無誤。但是如果有遇到任何錯誤或問題,請回饋給我們,我們會及時糾正以方便後續讀者閱讀。

教學目錄

1. 基礎部分

1.1. PostgreSQL是什麼?- PostgreSQL是一個功能強大的開源對象關係資料庫管理系統(ORDBMS)。
1.2. PostgreSQL歷史 - PostgreSQL由電腦科學教授Michael Stonebraker在UCB創建。
1.3. PostgreSQL特點 - 介紹PostgreSQL的6個特點及一些工具。
1.4. PostgreSQL命令語法大全 - 介紹PostgreSQL中所有語句的語法。
1.5. PostgreSQL數據類型 - PostgreSQL中主要有三種類型的數據類型:數值數據類型,字串數據類型和日期/時間數據類型。
1.6. PostgreSQL安裝(Windows)- 介紹如何在Windows系統上安裝PostgreSQL資料庫。
1.7. PostgreSQL創建資料庫 - 學習如何在PostgreSQL中,可以使用CREATE DATABASE命令創建資料庫。
1.8. PostgreSQL刪除資料庫 - 學習如何在PostgreSQL中刪除資料庫的兩種方法。
1.9. PostgreSQL創建表 - 學習如何在PostgreSQL中,使用CREATE TABLE語句在任何給定的資料庫中創建一個新表。
2.0. PostgreSQL刪除表 - 學習如何刪除PostgreSQL中的區分表。
2.1. PostgreSQL模式(架構) - 學習模式的概念。模式(也叫架構)可以包含視圖,索引,序列,數據類型,運算符和函數。

2. 查詢語句

1.1. PostgreSQL插入數據(INSERT語句)- 在PostgreSQL中,INSERT查詢用於在表中插入新行。也可以一次插入單行或多行到表中。
1.2. PostgreSQL查詢數據(SELECT語句)- 在PostgreSQL中,SELECT語句用於從資料庫表中檢索數據。數據以結果表格的形式返回。
1.3. PostgreSQL更新數據(UPDATE語句)- 在PostgreSQL中,UPDATE語句用於修改表中現有的記錄。
1.4. PostgreSQL刪除數據(DELETE語句)- DELETE語句用於從表中刪除現有記錄。
1.5. PostgreSQL ORDER BY子句 - PostgreSQL ORDER BY子句用於按昇冪或降序對數據進行排序,數據在一列或多列的基礎上進行排序。
1.6. PostgreSQL分組(GROUP BY子句)- PostgreSQL GROUP BY子句用於將具有相同數據的表中的這些行分組在一起,GROUP BY子句與SELECT語句一起使用。
1.7. PostgreSQL Having子句 - 在PostgreSQL中,HAVING子句與GROUP BY子句組合使用,用於選擇函數結果滿足某些條件的特定行。
1.8. PostgreSQL條件查詢 - PostgreSQL條件用於從資料庫獲取更具體的結果。它們通常與WHERE子句一起使用。 具有子句的條件就像雙層篩檢程式。
1.9. PostgreSQL AND條件 - PostgreSQL AND條件與WHERE子句一起使用,以從表中的多個列中選擇同時滿足多個條件的數據。
2.0. PostgreSQL OR條件 - PostgreSQL OR條件與WHERE子句一起使用,以從表中的一列或多列列中選擇至少滿足一個條件的數據。
2.1. PostgreSQL AND & OR條件 - PostgreSQL AND&OR條件在僅一個查詢中提供了AND和OR條件的優點。
2.2. PostgreSQL NOT條件 - PostgreSQL NOT條件與WHERE子句一起使用以否定查詢中的條件。
2.3. PostgreSQL LIKE條件 - PostgreSQL LIKE條件與WHERE子句一起用於從指定條件滿足LIKE條件的表中獲取數據。
2.4. PostgreSQL IN條件 - PostgreSQL IN條件與WHERE子句一起使用,從表中獲取滿足指定IN條件的數據。
2.5. PostgreSQL NOT IN條件 - PostgreSQL NOT IN條件與WHERE子句一起使用,從指定條件否定IN條件獲取數據。
2.6. PostgreSQL NOT IN條件 - PostgreSQL NOT IN條件與WHERE子句一起使用,從指定條件否定IN條件的表中獲取數據。
2.7. PostgreSQL BETWEEN條件 - PostgreSQL BETWEEN條件與WHERE子句一起使用,從兩個指定條件之間獲取數據。

3. SQL連接

  1. PostgreSQL連接(內連接) - 連接類型有:內連接(INNER JOIN),左外連接(LEFT OUTER JOIN),右外連接(RIGHT OUTER JOIN),全連接(FULL OUTER JOIN),跨連接(CROSS JOIN)
  2. PostgreSQL左外連接 - 外連接是內聯的延伸,外連接有三種類型。
  3. PostgreSQL右外連接 - 外連接是內聯的延伸,外連接有三種類型。
  4. PostgreSQL全外連接 - 外連接是內聯的延伸,外連接有三種類型。
  5. PostgreSQL交叉連接(CROSS JOIN) - PostgreSQL跨連接(CROSS JOIN)將第一個表的每一行與第二個表的每一行相匹配。 它也被稱為笛卡爾積。

4. 高級部分

  1. PostgreSQL視圖 - 在PostgreSQL中,視圖(VIEW)是一個偽表。 它不是物理表,而是作為普通表選擇查詢。視圖也可以表示連接的表。 它可以包含表的所有行或來自一個或多個表的所選行。
  2. PostgreSQL函數(存儲過程) - PostgreSQL函數也稱為PostgreSQL存儲過程。PostgreSQL函數或存儲過程是存儲在資料庫伺服器上並可以使用SQL介面調用的一組SQL和過程語句(聲明,分配,迴圈,控制流程等)。
  3. PostgreSQL觸發器 - PostgreSQL觸發器是一組動作或資料庫回調函數,它們在指定的表上執行指定的資料庫事件時自動運行。 觸發器用於驗證輸入數據,執行業務規則,保持審計跟蹤等。
  4. PostgreSQL別名 - PostgreSQL別名(Alias)用於為列或表提供臨時名稱。可以使用PostgreSQL別名為列或表創建一個臨時名稱。
  5. PostgreSQL索引 - 索引是用於加速從資料庫檢索數據的特殊查找表。資料庫索引類似於書的索引(目錄)。 索引為出現在索引列中的每個值創建一個條目。
  6. PostgreSQL日期和時間函數 - 介紹常用的日期和時間函數函數功能。
  7. PostgreSQL UNIONS子句 - PostgreSQL UNION子句/運算符用於組合兩個或多個SELECT語句的結果,而不返回任何重複的行。
  8. PostgreSQL NULL值 - PostgreSQL NULL是用於表示缺少值的術語。NULL值是一個字段中的值,顯示為空白。
  9. PostgreSQL修改表(ALTER TABLE語句)- PostgreSQL ALTER TABLE命令用於添加,刪除或修改現有表中的列。還可以使用ALTER TABLE命令在現有表上添加和刪除各種約束。
  10. PostgreSQL截斷表(TRUNCATE TABLE語句)- PostgreSQL TRUNCATE TABLE命令用於從現有表中刪除完整的數據。您也可以使用DROP TABLE命令刪除完整的表,但會從資料庫中刪除完整的表結構,如果希望存儲某些數據,則需要重新創建此表。
  11. PostgreSQL事務 - 事務是對數據庫執行的工作單元。事務是以邏輯順序完成的工作的單位或順序,無論是用戶手動的方式還是通過某種資料庫程式自動執行。
  12. PostgreSQL鎖 - 鎖或獨佔鎖或寫鎖阻止用戶修改行或整個表。 在UPDATE和DELETE修改的行在事務的持續時間內被自動獨佔鎖定。 這將阻止其他用戶更改行,直到事務被提交或回退。
  13. PostgreSQL子查詢 - 子查詢或內部查詢或嵌套查詢是一個PostgreSQL查詢中的查詢,它可以嵌入到WHERE子句中。子查詢用於返回將在主查詢中使用的數據作為進一步限制要檢索的數據的條件。
  14. PostgreSQL子查詢 - 子查詢或內部查詢或嵌套查詢是一個PostgreSQL查詢中的查詢,它可以嵌入到WHERE子句中。
  15. PostgreSQL自動遞增 - PostgreSQL具有數據類型smallserial,serial和bigserial; 這些不是真正的類型,而只是在創建唯一識別字列的標誌以方便使用。
  16. PostgreSQL許可權 - 在資料庫中創建對象時,都會為其分配所有者。 所有者通常是執行創建語句的用戶。 對於大多數類型的對象,初始狀態是只有所有者(或超級用戶)可以修改或刪除對象。 要允許其他角色或用戶使用它,必須授予許可權或許可權。

5. PostgreSQL程式連接介面

  1. C/C++連接PostgreSQL資料庫 - 學習如何使用libpqxx庫連接PostgreSQL資料庫,它是PostgreSQL的官方C++客戶端API。
  2. Java連接PostgreSQL資料庫 - 學習如何設置PostgreSQL JDBC驅動,並使用Java連接到PostgreSQL資料庫執行相關資料庫操作。
  3. PHP連接PostgreSQL資料庫 - 學習如何設置PHP-PostgreSQL,並使用PHP連接到PostgreSQL資料庫執行相關資料庫操作。
  4. Perl連接PostgreSQL資料庫 - PostgreSQL可以使用Perl DBI模組與Perl集成,Perl DBI模組是Perl編程語言的資料庫訪問模組。 它定義了一組提供標準資料庫介面的方法,變數和約定。
  5. Python連接PostgreSQL資料庫 - PostgreSQL可以使用psycopg2模組與Python集成。sycopg2是用於Python編程語言的PostgreSQL資料庫適配器。 psycopg2是非常小,快速,穩定的。

開始學習 >> :PostgreSQL是什麼?