欢迎来到 PostgreSQL 轻松学。我们提供了一份能快速理解并应用 PostgreSQL 数据库的 PostgreSQL 教程。你将通过几个实用的例子来快速地学习 PostgreSQL。在这里,不但会展现实际开发中可能遇到的各种坑,更能学到填坑的正确方法。

如果你现在……

  • 正在找一份快速而简单的 PostgreSQL 学习资料
  • 正在开发使用 PostgreSQL 作为后台数据库的应用
  • 正准备从诸如 MySQL、Oracle、Microsoft SQL Server 等其它数据库迁移到 PostgreSQL。

你会发现,你需要东西就在本网站。

PostgreSQL 基础教程

首先,你会学习到如何从单个数据表里查询数据:查询字段、对数据进行排序以及筛选数据。之后,你将学到一些高级的查询,比如:将多个表进行关联查询、使用集合操作以及构造子查询等。最后,你会学到如何管理数据表,比如:创建新的数据表以及修改一个已存在的数据表的结构。

第1部分:PostgreSQL 入门

如果你没有接触过 PostgreSQL,下面简单的3步就能帮你快速入门。

第2部分:数据查询

第3部分:筛选数据

第4部分:连接多个表

第5部分:数据分组

第6部分:集合操作

  • PostgreSQL 的 UNION:将多个结果集(result set)合并(UNION)为单个结果集。
  • PostgreSQL 的交集:将多个结果集进行合并,并将它们的交集(INTERSECT)作为单个结果集进行返回。
  • PostgreSQL 的差集:将多个结果集进行合并,并将它们的差集(EXCEPT)作为单个结果集进行返回。

第7部分:子查询

第8部分:修改记录

本部分中,你将学习到如何使用 INSERT 语句来插入新数据;如何使用 UPDATE 语句来更新已存在的数据;如何使用 DELETE 来删除数据。

第9部分:导入和导出

你将学习到如何使用 copy 命令将 CSV 文件中的数据导入到 PostgreSQL 数据库中,以及如何将 PostgreSQL 里的数据导出为 CSV 文件。

第10部分:管理表

本部分,我们开始探索 PostgreSQL 的数据类型,同时展示如何通过 CREATE TABLE 语句来创建新的数据表。除此之外,还包含一些其它功能,比如:修改表结构和删除表。最后,还送你一个福利:介绍如何通过 TRUNCATE 语句来清空数据表。

第11部分:深入 PostgreSQL 的数据类型

  • Boolean:【布尔值】存储 TRUEFALSE 两个值的布尔类型。
  • CHAR、VARCHAR 和 TEXT:学习如何使用不同的字符类型,包括: CHARVARCHARTEXT
  • NUMERIC:展示如何使用 NUMERIC 类型来存储对精度有要求的数据。
  • INTEGER:介绍 PostgreSQL 中的各种整数,包括:SMALLINTINTBIGINT
  • SERIAL:介绍如何通过 SERIAL 来创建自增长的字段。
  • DATE:介绍如何通过 DATE 类型来存储日期。
  • TIMESTAMP:快速了解 timestamp (时间戳)类型。
  • INTERVAL:快速了解如何通过 interval 类型来正确处理时间的间隔。
  • TIME:使用 TIME 类型来管理时间。
  • UUID:指导你使用 UUID 类型,以及如何通过扩展模块来生成 UUID。
  • ARRAY:向您展示如何使用数组,并向您介绍一些用于数组操作的函数。
  • HSTORE:介绍 hstore 类型,它是 键/值 对的集合。
  • JSON:介绍 JSON 类型是如何工作的, 并展示一些重要的 JSON 操作和函数。
  • 自定义数据类型:介绍如何创建自定义数据类型。

第12部分:理解 PostgreSQL 的约束

  • 主键:介绍如何在创建数据表的时候定义主键(Primary Key),以及如何给已存在的表添加主键。
  • 外键:介绍如何在创建数据表的时候定义外键(Foreign Key)约束,以及如何给已存在的表添加外键约束。
  • CHECK 约束:给值添加基于布尔值表达式的检查逻辑。
  • UNIQUE 约束:【唯一约束】确保在数据表中,某个字段或字段分组的值是唯一不重复的。
  • NOT NULL 约束:【非空约束】确保某个字段的值不是 NULL

第13部分:条件表达式和运行符

  • CASE:向您展示如何使用 CASE 表达式构建条件查询。
  • COALESCE:返回第一个非空参数。可以用来作为替换 NULL 的默认值。
  • NULLIF:如何第一个参数等于第二个参数,返回 NULL
  • CAST:数据类型转换。比如:将一个字符串转成整数,或者将一个字符串转成日期等。

第14部分:PostgreSQL 工具集

  • psql 命令行:向您展示了最常用的psql命令,可以帮助您更快,更有效地与psql进行交互。

第15部分:PostgreSQL 实例

PostgreSQL 管理

PostgreSQL 管理涵盖了 PostgreSQL 数据库服务器最重要的活动,包括角色和数据库管理,备份和恢复。

PostgreSQL 存储过程

PostgreSQL 存储过程部分将一步一步教你如何使用 PL/pgSQL 语言来开发 PostgreSQL 的用户定义函数。

PostgreSQL 触发器

PostgreSQL 触发器提供 PostgreSQL 触发器的概念,并展示如何管理 PostgreSQL 中的触发器。

PostgreSQL 视图

我们将向您介绍 PostgreSQL 视图的概念,并向您展示如何管理视图,如创建,修改和从数据库中移除视图。

PostgreSQL 编程接口

我们通常是在作为特定应用程序的后端数据库的场景下使用 PostgreSQL。要实现应用程序与 PostgreSQL 数据库进行交互,需要数据库驱动程序。PostgreSQL 提供了许多流行的编程语言的数据库驱动程序,比如:PHP、Java、Python、Go、C# 和 C/C++等。

在 PHP 中使用 PostgreSQL

在 PHP 中使用 PostgreSQL 介绍如何使用 PHP 的 PDO API 与 PostgreSQL 数据库进行交互。 它教你逐步执行 PHP 中的通用数据库操作,如创建新表,插入数据,更新数据,查询数据等。

在 Python 中使用 PostgreSQL

在 Python 中使用 PostgreSQL 部分展示了如何使用 psycopg2 数据库适配器来处理 PostgreSQL 数据库。

在 Go 中使用 PostgreSQL

在 Go 中使用 PostgreSQL 部分展示了如何在 Go 语言中使用 lib/pq 驱动来操作 PostgreSQL 数据库。