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、false 和 NULL 值。
▶ Char--在数据库中存储固定长度和填充字符串。
▶ Varchar--在数据库中存储可变长度的字符串。
▶ Text--存储无大小限制的可变长度字符数据。
▶ Integer– 使用各种整数类型存储整数。
▶ Decimal – 使用 decimal 或 numeric 类型存储具有精度的数值数据。
▶ 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– 在表上发生插入事件后,运用插入后触发器自动调用函数。

浙公网安备 33010602011771号