本 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 节. 公共表表达式
主题 | 描述 |
---|---|
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 约束
主题 | 描述 |
---|---|
主键 | 说明在创建表或向现有表添加主键时如何定义主键。 |
外键 | 展示如何在创建新表时定义外键约束或为现有表添加外键约束。 |
检查约束 | 添加逻辑以基于布尔表达式检查值。 |
唯一约束 | 确保一列或一组列中的值在整个表中是唯一的。 |
非空约束 | 确保列中的值不是 |
第 14 节. 深入了解 PostgreSQL 数据类型
主题 | 描述 |
---|---|
布尔型 | 使用布尔数据类型存储 |
字符型 | 了解如何使用各种字符类型,包括 |
NUMERIC | 向您展示如何使用 |
整型 | 向您介绍 PostgreSQL 中的各种整数类型,包括 |
DATE | 引入 |
时间戳 | 快速了解时间戳数据类型。 |
间隔 | 向您展示如何使用间隔数据类型有效地处理一段时间。 |
TIME | 使用 |
UUID | 指导您如何使用 |
数组 | 向您展示如何使用数组,并向您介绍一些用于数组操作的方便函数。 |
hstore | 向您介绍数据类型,它是存储在 PostgreSQL 中单个值中的一组键/值对。 |
JSON | 说明如何使用 JSON 数据类型,并向您展示如何使用一些最重要的 JSON 运算符和函数。 |
用户定义的数据类型 | 向您展示如何使用 |
第 15 节. 条件表达式和运算符
主题 | 描述 |
---|---|
| 向您展示如何使用 |
| 返回第一个非空参数。您可以使用它将 |
| 如果第一个参数等于第二个参数则返回 |
| 从一种数据类型转换为另一种数据类型,例如,从字符串转换为整数,从字符串转换为日期。 |
第 16 节. PostgreSQL 实用程序
主题 | 描述 |
---|---|
psql 命令 | 向您展示最常见的 psql 命令,帮助您更快、更有效地与 psql 交互。 |
第 17 节. PostgreSQL 技巧
主题 | 描述 |
---|---|
如何比较两个表 | 描述如何比较数据库中两个表中的数据。 |
如何在 PostgreSQL 中删除重复行 | 向您展示从表中删除重复行的各种方法。 |
如何生成某个范围内的随机数 | 说明如何生成特定范围内的随机数。 |
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 函数。 |
PostgreSQL Java 教程 | 此 PostgreSQL JDBC 部分向您展示,如何使用 Java JDBC 驱动程序与 PostgreSQL 数据库进行交互。 |
PostgreSQL Python 教程 | 此 PostgreSQL Python 部分向您展示,如何使用 Python 编程语言与 PostgreSQL 数据库进行交互。 |