PostgreSQL-Tutorial目录 - 教程

PostgreSQL-Tutorial

PostgreSQL 教程将从入门到高级全面教你学习 PostgreSQL

内容翻译来自PostgreSQL-Tutorial

第 1 节 PostgreSQL入门

什么是 PostgreSQL ?解释什么是 PostgreSQL 以及你可以用它做什么。

创建新表 – 了解如何在 PostgreSQL 中创建新表。

向表中插入数据– 向您展示如何向表中插入一行或多行数据。

从表中查询数据– 使用SELECT语句从表中查询数据。

字符串拼接– 了解如何将多个字符串拼接成一个字符串。

删除表– 指导您从PostgreSQL数据库中删除表。

第 2 节 筛选表中的行

WHERE – 使用 WHERE 子句从表中筛选行。

BETWEEN否介于两个值之间。就是– 检查一个值

IN– 判断一个值是否在一组值中。

更新– 更新表中一行或多行的数据。

删除– 从表中删除一行或多行。

第 3 节 使用表格数据

数据库设计– 从头开始为库存管理系统设计数据库。

主键– 向您展示如何为表定义主键。

非空约束– 介绍NULL,并使用非空约束确保列不包含NULL。

DEFAULT 约束– 为表列设置默认值。

CHECK 约束--向一个或多个列添加验证规则,以确保值满足条件。

唯一约束– 确保一列或一组列中的值在同一表的各行中是唯一的。

外键– 了解如何为表创建外键。

第 4 节 排序和限制

ORDER BY– 按一个或多个列对行进行排序。

LIMIT– 仅返回查询结果中的一部分行。

FETCH – 作用类似于 LIMIT 子句,用于跳过部分行并从查询结果中返回一部分行。

IS NULL否为NULL。就是– 检查一个值

第 5 节 连接表

Inner Join– 连接两个表,并从第一个表中选择在右表中有匹配行的行。

Left Join– 将左表与右表连接,并从左表中选择所有行以及右表中匹配的行。

Right Join– 将左表与右表连接,并从右表中选择所有行以及左表中匹配的行。

Self Join– 使用内连接、左连接或右连接将一个表与自身连接,以比较同一表中的行。

Full Join– 合并两个表中的行,并返回两个表中的匹配行和非匹配行。

Cross Join--连接两个表并返回一个结果集,该结果集包含两个表中所有可能的行组合。

Natural Join– 基于列名连接两个表。

第 6 节 行分组

GROUP BY– 按表中一列或多列的值将行分组,并对每个组应用聚合函数。

HAVING– 根据条件筛选行组。

GROUPING SETS– 在单个查询中创建多个分组。

ROLLUP– 创建层级汇总。

CUBE– 创建指定列的所有可能聚合组合。

第 7 节 集合运算

UNION--将一个结果集附加到另一个结果集,并返回单个结果集。

INTERSECT– 返回两个结果集的交集。

EXCEPT– 找出两个查询的两个结果集之间的差异。

第 8 节 PostgreSQL数据类型

Boolean – 在数据库中存储布尔数据,包括 true、falseNULL 值。

Char--在数据库中存储固定长度和填充字符串。

Varchar--在数据库中存储可变长度的字符串。

Text--存储无大小限制的可变长度字符数据。

Integer– 使用各种整数类型存储整数。

Decimal – 使用 decimalnumeric 类型存储具有精度的数值数据。

Date– 在表中存储不含时间数据的日期。

Time--在表中存储不含日期的时间数据。

Timestamp– 在数据库中存储不带时区的本地日期和时间。

Timestamp with a time zone – 了解如何使用 TIMESTAMPTZ 数据类型处理带时区的时间戳值。

Interval– 存储时间间隔值。

UUID – 向您展示如何将 UUID 类型用于主键列。

第 9 节 子查询

Subquery– 了解如何编写嵌套在另一个查询中的查询,以形成更灵活的查询

Correlated Subquery– 向您展示如何使用关联子查询来选择依赖于外部查询值的数据。

Subquery with IN operator – 向您展示如何在 WHERE 子句中使用带IN运算符的子查询来筛选行。

EXISTS – 了解如何使用 EXISTS 运算符检查子查询返回的行是否存在。

ANY– 将一个值与子查询返回的一组值进行比较,如果至少有一个比较结果为真,则返回真。

ALL– 将一个值与子查询返回的一组值进行比较,如果所有比较结果都为真,则返回真。

第 10 节 CTE公用表表达式

CTE – 了解如何使用公用表表达式 CTE 简化复杂查询。

Recursive CTE – 向你展示如何使用递归 CTE 执行递归查询。

第 11 节 选择不同的行

SELECT DISTINCT– 凭借一列或多列的值从结果集中消除重复行。

SELECT DISTINCT ON– 了解如何将行分组为不同的组,并选择每个组中的第一行。

第 12 节 数据库视图

View– 了解视图以及如何利用视图创建可重用的查询并简化复杂查询。

Materialized Views– 创建物化视图以提高耗时查询的性能。

第 13 节 条件表达式

CASE expression – 在查询中添加 if-else 逻辑,以构建更灵活的查询。

COALESCE – 返回第一个非空参数,允许您将 NULL 替换为非 NULL 值。

NULLIF – 如果两个参数相同则返回 NULL ,使你能够用 NULL 替换某个值。

GREATEST– 返回一组值中的最大值。

LEAST– 返回值列表中的最小值。

第 14 节 增强表结构

ALTER TABLE– 通过添加列、删除列、重命名表等方式修改表结构。

Sequence– 了解如何使用序列生成连续整数。

Identity Column– 使用标识列基于隐式序列自动生成整数。

Adding columns to a table– 向您展示如何向表中添加一个或多个列。

Renaming tables– 了解如何将表名更改为新名称。

Renaming columns– 指导你如何更改现有表列的名称。

Dropping columns– 向您展示如何从表中删除一个或多个列。

第 15 节 高级文本搜索

LIKE– 查找与模式匹配的字符串。

Regular Expressions – 了解如何使用匹配运算符 (~) 来搜索与 POSIX 正则表达式匹配的字符串。

SIMILAR TO – 搜索与包含通配符 (% and _ ) 或正则表达式的模式相匹配的字符串。

Full-text search– 执行全文搜索

第 16 节 用户定义函数

Create functions– 了解如何创建用户定义函数。

Drop functions– 向您展示如何删除一个或多个用户定义函数。

第 17 节 存储过程

Create stored procedures – 展示如何使用 CREATE PROCEDURE 语句创建存储过程。

Drop procedure– 了解如何从数据库中移除存储过程。

第 18 节 索引

Index – 利用索引提高查询性能。

CREATE INDEX– 为表的一个或多个列创建索引。

DROP INDEX– 从数据库中删除索引。

Unique index– 强制表中一列或多列的值具有唯一性。

Expression Index– 基于涉及表列的表达式结果创建索引,这允许优化含有表达式的查询。

Partial Indexes– 创建部分索引,其中包含索引列中的部分行,以减小索引大小并提高查询性能。

Index-only Scans– 利用仅索引扫描从索引中完整检索数据。

第 19 节 非规范化数据类型

Composite types– 解释什么是复合类型以及如何管理复合类型,例如创建新的复合类型。

Drop Type– 了解如何从数据库中移除用户定义的类型。

Array– 使用数组数据类型在一个列中存储多个相同类型的值。

XML – 使用 XML 数据类型在数据库中存储 XML 文档或 XML 片段。

Enum– 定义一个接受小型固定值列表的列。

JSON – 使用 JSON 数据类型在数据库中存储 JSON

Cast– 将一种类型的值转换为另一种类型。

第 20 节 触发器

Triggers– 了解如何使用触发器自动响应表上发生的事件。

Drop Trigger – 指导你如何从数据库中的表中删除触发器。

Disabling Triggers– 向您展示如何关闭表的触发器,以避免在执行批量素材加载时产生性能开销。

Event Triggers– 了解如何应用事件触发器来监控和控制数据库结构的变化。

BEFORE INSERT Trigger– 使用插入前触发器可在向表中插入行之前自动调用函数。

AFTER INSERT Trigger– 在表上发生插入事件后,运用插入后触发器自动调用函数。

posted @ 2025-09-11 08:54  yfceshi  阅读(7)  评论(0)    收藏  举报