PostgreSQL入门到精通.pdf

postgresql
主要面向 PostgreSQL 初级 DBA 和开发人员,内容包括:PostgreSQL 介绍和安装,用户和角色、数据库与模式的管理、表空间与表的维护、数据库的备份与恢复、SQL 查询、常用函数、DML 语句,以及一些高级功能,例如通用表表达式、窗口函数、数据库事务、索引优化、视图、存储过程/函数、触发器以及 Java、Python、PHP 应用程序编程接口等。

第 I 部分 基本概念

第 1 章 PostgreSQL 简介和安装

简单介绍 PostgreSQL 的功能特性和相关信息,以及PostgreSQL 在不同操作系统上的安装方法。

第 2 章 角色与用户

PostgreSQL 使用角色的概念来管理数据库的访问权限。角色可以被看成是一个数据库用户或者是一个组。GRAN 和 REVOKE 语句分别用于对象的授权和撤销权限。

第 3 章 数据库与模式

一个 PostgreSQL 实例管理一个数据库集群,一个集群可以包含一个或多个数据库(Database),一个数据库包含一个或多个模式(Schema),模式就像是一个命名空间,其中包含了许多数据库对象,例如表、索引等。

第 4 章 管理数据表

介绍如何管理数据库中的表,包括创建表、修改表以及删除表等操作。

第 5 章 管理表空间

在 PostgreSQL 中,表空间(Tablespace)表示数据文件的存放目录。这些数据文件代表了数据库的对象,例如表或索引。

第 6 章 备份与恢复

服务器系统错误、硬件故障或者人为失误都可能导致数据的丢失或损坏。因此,备份和恢复对于数据库的高可用性至关重要。数据库管理员应该根据业务的需求制定合适的备份策略,并提前演练各种故障情况下的恢复过程,做到有备无患。

第 II 部分 SQL 语言

第 7 章 简单查询

介绍如何使用 SELECT 和 FROM 查询表中的数据,以及使用 DISTINCT去除查询结果中的重复值。

第 8 章 查询条件

使用 WHERE 子句返回满足条件的数据。

第 9 章 排序显示

介绍如何使用 ORDER BY 进行查询结果的排序显示,包括单列排序、多列排序,升序和降序排序、空值排序等。

第 10 章 限定结果数量

对于常见的 Top-N 查询和分页功能,PostgreSQL 提供了标准的FETCH 和 OFFSET 子句,同时还支持其他数据库中的 LIMIT 语法形式。

第 11 章 分组汇总

使用 GROUP BY 子句对数据进行分组,并且应用聚合函数针对每个组进行汇总分析。HAVING 子句可以对分组后的结果进行过滤。如果需要高级分组功能,PostgreSQL提供了 GROUPING SETS、CUBE 以及 ROLLUP 选项。

第 12 章 多表连接

连接查询(JOIN)基于两个表中的关联字段将数据行拼接到一起,可以同时返回两个表中的相关数据。本篇介绍 PostgreSQL 支持的各种连接查询,包括内连接、左/右外连接、全外连接、交叉连接、自然连接以及自连接。

第 13 章 CASE 条件表达式

CASE 表达式为 SQL 语句增加类似于 IF-THEN-ELSE 的逻辑处理功能,根据不同的条件返回不同的结果。PostgreSQL 支持两种形式的条件表达式以及处理空值的 NULLIF 函数和 COALEASE 函数。

第 14 章 常用函数

介绍 PostgreSQL 常用的数学函数、字符函数、日期时间函数以及类型转换函数。

第 15 章 子查询

子查询(Subquery)是指嵌套在其他 SELECT、INSERT、UPDATE 以及DELETE 语句中的查询。本篇介绍 PostgreSQL 中的子查询、关联子查询、横向子查询、IN、ALL、ANY 以及 EXISTS 操作符。

第 16 章 集合运算

介绍 PostgreSQL 中的集合操作符,UNION 用于将两个查询结果合并成一个结果集,返回出现在第一个查询或者出现在第二个查询中的数据;INTERSECT 用于返回两个查询结果中的共同部分,即同时出现在第一个查询结果和第二个查询结果中的数据;EXCEPT用于返回出现在第一个查询结果中,但不在第二个查询结果中的数据。

第 17 章 通用表表达式

通用表表达式(Common Table Expression)是一个临时的查询结果或者临时表,可以在其他 SELECT、INSERT、UPDATE 以及 DELETE 语句中使用。使用 CTE可以提高复杂查询的可读性,递归 CTE 可以遍历各种层次数据。CTE 和 DML 语句一起使用可以在一个语句中执行多个表的操作。

第 18 章 窗口函数

PostgreSQL 窗口函数(分析函数)基于和当前数据行相关的一组数据计算出一个结果。窗口函数使用 OVER 子句进行定义,包括 PARTITION BY、ORDER BY 以及frame_clause 三个选项。常见的窗口函数可以分为以下几类:聚合窗口函数、排名窗口函数以及取值窗口函数。

第 19 章 DML 语句

介绍如何在 PostgreSQL 中对表的数据进行修改操作,包括插入数据的INSERT 语句、更新数据的 UPDATE 语句、删除数据的 DELETE 语句,以及合并数据的 INSERT ON CONFLICT 语句。

第 III 部分 高级功能

第 20 章 事务与并发控制

介绍 PostgreSQL 中的数据库事务概念和 ACID 属性,并发事务可能带来的问题以及 4 种隔离级别,演示了如何使用事务控制语句(TCL)对事务进行处理,包括 BEGIN、COMMIT、ROLLBACK 以及 SAVEPOINT 语句。

第 21 章 索引与优化

本篇介绍 PostgreSQL 中的索引概念,包括 B-树索引、哈希索引等类型,唯一索引、多列索引、函数索引、部分索引以及覆盖索引等方式。如何利用索引优化数据库的查询性能,以及创建索引、查看索引、维护索引等操作。

第 22 章 视图

介绍 PostgreSQL 中视图(View)的概念和作用,如何创建、修改、删除视图,以及可更新视图的使用与控制。

第 23 章 存储过程

介绍如何使用 PL/pgSQL 创建存储过程和函数,包括代码的块结构、变量声明与赋值、条件语句和循环控制结构、游标的使用、错误处理以及事务控制等。

第 24 章 触发器

介绍 PostgreSQL 触发器(trigger)的概念和作用,数据变更触发器(DML触发器)和事件触发器(DDL 触发器)的创建、修改以及删除操作。

第 IV 部分 编程接口

第 25 章 PHP 访问 PostgreSQL

利用 PHP 数据对象(PDO)接口连接和操作 PostgreSQL 数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。

第 26 章 Python 访问 PostgreSQL

利用Python 驱动程序接口 psycopg 连接和操作 PostgreSQL数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。

第 27 章 Java 访问 PostgreSQL

在 Java 程序中利用 JDBC 接口连接和操作 PostgreSQL 数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程。


领取【PostgreSQL入门到精通PDF中文版】,附赠常用命令速查表。
PDF
如果链接失效请私信联系获取。


PostgreSQL

相关推荐

  1. PostgreSQL 教程:从入门精通

    2024-04-23 16:10:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 16:10:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 16:10:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 16:10:01       87 阅读
  4. Python语言-面向对象

    2024-04-23 16:10:01       97 阅读

热门阅读

  1. 第24篇 python基础

    2024-04-23 16:10:01       32 阅读
  2. 安装Python包常用的国内镜像源

    2024-04-23 16:10:01       30 阅读
  3. 宝塔手动安装grafana

    2024-04-23 16:10:01       30 阅读
  4. Flowable学习笔记一:初识Flowable

    2024-04-23 16:10:01       39 阅读
  5. GetManifestResourceStream用法

    2024-04-23 16:10:01       27 阅读
  6. MySQL数据库——18、事务

    2024-04-23 16:10:01       29 阅读
  7. AtomGit 体验

    2024-04-23 16:10:01       36 阅读
  8. Stable Diffusion 本地部署教程

    2024-04-23 16:10:01       32 阅读
  9. PySide6之QEasingCurve.Type

    2024-04-23 16:10:01       31 阅读
  10. Swift常用的第三方库

    2024-04-23 16:10:01       39 阅读