部分 II. SQL 语言

这部份描述在PostgreSQL中SQL语言的使用。我们从描述SQL的一般语法开始,然后解释如何创建保存数据的结构、如何填充数据库以及如何查询它。中间的部分列出了在SQL命令中可用的数据类型和函数。剩余的部分则留给对于调优数据性能的重要方面。

这部份的信息被组织成让一个新用户可以从头到尾跟随它来全面理解主题,而不需要多次参考后面的内容。这些章都是自包含的,这样高级用户可以根据他们的选择阅读单独的章。这一部分的信息被以一种叙事的风格展现。需要查看一个特定命令的完整描述的读者应该去看看第 VI 部分

这一部分的阅读者应该知道如何连接到一个PostgreSQL数据库并且发出SQL命令。我们鼓励不熟悉这些问题的读者先去阅读第 I 部分。SQL通常使用PostgreSQL的交互式终端psql输入,但是其他具有相似功能的程序也可以被使用。

目录

4. SQL语法

4.1. 词法结构

4.2. 值表达式

4.3. 调用函数

5. 数据定义

5.1. 表基础

5.2. 默认值

5.3. 生成列

5.4. 约束

5.5. 系统列

5.6. 修改表

5.7. 权限

5.8. 行安全性策略

5.9. 模式

5.10. 继承

5.11. 表分区

5.12. 外部数据

5.13. 其他数据库对象

5.14. 依赖跟踪

6. 数据操纵

6.1. 插入数据

6.2. 更新数据

6.3. 删除数据

6.4. 从修改的行中返回数据

7. 查询

7.1. 概述

7.2. 表表达式

7.3. 选择列表

7.4. 组合查询

7.5. 行排序

7.6. LIMIT和OFFSET

7.7. VALUES列表

7.8. WITH查询(公共表表达式)

8. 数据类型

8.1. 数字类型

8.2. 货币类型

8.3. 字符类型

8.4. 二进制数据类型

8.5. 日期/时间类型

8.6. 布尔类型

8.7. 枚举类型

8.8. 几何类型

8.9. 网络地址类型

8.10. 位串类型

8.11. 文本搜索类型

8.12. UUID类型

8.13. XML类型

8.14. JSON 类型

8.15. 数组

8.16. 组合类型

8.17. 范围类型

8.18. 域类型

8.19. 对象标识符类型

8.20. pg_lsn 类型

8.21. 伪类型

9. 函数和操作符

9.1. 逻辑操作符

9.2. 比较函数和操作符

9.3. 数学函数和操作符

9.4. 字符串函数和操作符

9.5. 二进制串函数和操作符

9.6. 位串函数和操作符

9.7. 模式匹配

9.8. 数据类型格式化函数

9.9. 时间/日期函数和操作符

9.10. 枚举支持函数

9.11. 几何函数和操作符

9.12. 网络地址函数和操作符

9.13. 文本搜索函数和操作符

9.14. XML 函数

9.15. JSON 函数和操作符

9.16. 序列操作函数

9.17. 条件表达式

9.18. 数组函数和操作符

9.19. 范围函数和操作符

9.20. 聚集函数

9.21. 窗口函数

9.22. 子查询表达式

9.23. 行和数组比较

9.24. 集合返回函数

9.25. 系统信息函数和运算符

9.26. 系统管理函数

9.27. 触发器函数

9.28. 事件触发器函数

9.29. 统计信息函数

10. 类型转换

10.1. 概述

10.2. 操作符

10.3. 函数

10.4. 值存储

10.5. UNION、CASE和相关结构

10.6. SELECT的输出列

11. 索引

11.1. 简介

11.2. 索引类型

11.3. 多列索引

11.4. 索引和ORDER BY

11.5. 组合多个索引

11.6. 唯一索引

11.7. 表达式索引

11.8. 部分索引

11.9. 只用索引的扫描和覆盖索引

11.10. 操作符类和操作符族

11.11. 索引和排序规则

11.12. 检查索引使用

12. 全文搜索

12.1. 介绍

12.2. 表和索引

12.3. 控制文本搜索

12.4. 额外特性

12.5. 解析器

12.6. 词典

12.7. 配置例子

12.8. 测试和调试文本搜索

12.9. GIN 和 GiST 索引类型

12.10. psql支持

12.11. 限制

13. 并发控制

13.1. 介绍

13.2. 事务隔离

13.3. 显式锁定

13.4. 应用级别的数据完整性检查

13.5. 提醒

13.6. 锁定和索引

14. 性能提示

14.1. 使用EXPLAIN

14.2. 规划器使用的统计信息

14.3. 用显式JOIN子句控制规划器

14.4. 填充一个数据库

14.5. 非持久设置

15. 并行查询

15.1. 并行查询如何工作

15.2. 何时会用到并行查询?

15.3. 并行计划

15.4. 并行安全性

PostgreSQL 12 文档: 部分 II. SQL 语言的更多相关文章

  1. 拆分ABBYY FineReader 12文档的方法

    处理大量多页文档时,通常都会首先扫描所有文档,然后才进行分析和识别.但是,要正确保留每个纸质文档的原始格式,ABBYY FineReader 12必须将每个文档作为单独 FineReader 文档进行 ...

  2. developers.google.com上的开发者文档如何切换显示语言

    一个小的tip,搜索到developers.google.com上的开发者文档,有些被翻译了的会自动显示中本版,如果想看英文版,可以在当前url后面加?hl=en,就会变成英文版.估计是根据地区直接推 ...

  3. 2016 - 3 - 12 SQLite的学习之SQL语言入门

    1.SQL语句的特点: 1.1 不区分大小写 1.2 每条语句以;结尾 2.SQL语句中常用关键字: select,insert,update,from,create,where,desc,order ...

  4. Database Initialization Parameters for Oracle E-Business Suite Release 12 (文档 ID 396009.1)

    In This Document Section 1: Common Database Initialization Parameters For All Releases Section 2: Re ...

  5. postgresql学习文档

    字符串函数: http://www.php100.com/manual/PostgreSQL8/functions-string.html http://gavin-chen.iteye.com/bl ...

  6. Deploying JRE (Native Plug-in) for Windows Clients in Oracle E-Business Suite Release 12 (文档 ID 393931.1)

    In This Document Section 1: Overview Section 2: Pre-Upgrade Steps Section 3: Upgrade and Configurati ...

  7. postgresql使用文档之一 初始化数据存储区

    17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...

  8. Java服务器端生成报告文档:使用SQL Server Report Service(SSRS)

    SQL Server Report Service(SSRS)提供了Asp.Net和WinForm两类客户端组件封装,因此使用C#实现SSRS报表的导出功能,仅需要使用相应的组件即可. Java操作S ...

  9. postgresql 安装文档

    tar xf postgresql-9.4.5.tar.gz cd postgresql-9.4.5 yum grouplist yum grouplist|grep Deve yum groupin ...

  10. 菜鸟级SQL Server21天自学通(文档+视频)

    SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言.SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据 ...

随机推荐

  1. python医学病理图片svs装换

    SVS文件是什么? 最开始拿到SVS文件一脸懵逼的,这货长这样(在windows下可以用Aperio ImageScope这个开源软件打开): 我现在接触的这种图片的大小一般在60M-1.5G之间,可 ...

  2. 【题解】Luogu P2671 【求和】

    因为人傻常数大写了一天的题目. 原题传送门 题目意思另一种表达: 定义特殊二元组\((x,z)\). 1.\(x<z\). 2.\(x\)与\(z\)要么都为奇数要么都为偶数. (即\(x \ ...

  3. ViewGroup的TouchTarget设计思维

    TouchTarget需要创建的时候先看下池子里面有没有被回收上来的,如果没有可以利用的就给你创建一个新的,否则就从池子里面把头部的那个可以利用的给你,你把你的东西放进去就行了.回收的时候就是把你放在 ...

  4. CommunityToolkit.Mvvm8.1 消息通知(4)

    本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址 ...

  5. node安装node-sass

    安装node-sass使用node版本不能太高,否则会报错 checking for Python executable "C:\Program Files\python" in ...

  6. dataX源码学习

    文章目录 前言 开始准备 运行配置 开始运行 JobContainer 1.进入init prepare schedule post阶段 this.invokeHooks(); 总结 前言 在用dat ...

  7. Java SE 20 新增特性

    Java SE 20 新增特性 作者:Grey 原文地址: 博客园:Java SE 20 新增特性 CSDN:Java SE 20 新增特性 源码 源仓库: Github:java_new_featu ...

  8. C++ Primer 5th 阅读笔记:前言

    机器效率和编程效率 Its focus, and that of its programming community, has widened from looking mostly at machi ...

  9. JS中内存泄漏的几种情况

    JavaScript 中的内存泄漏是指程序中使用的内存不再被需要却没有被释放,最终导致浏览器或者 Node.js 进程使用的内存越来越大,直到程序崩溃或者系统运行缓慢. 在 JavaScript 中, ...

  10. 2022-11-25:连续出现的数字。编写一个 SQL 查询,查找所有至少连续出现三次的数字。 答案是输出1,原因是1是唯一连续出现三次的数字。 DROP TABLE IF EXISTS logs;

    2022-11-25:连续出现的数字.编写一个 SQL 查询,查找所有至少连续出现三次的数字. 答案是输出1,原因是1是唯一连续出现三次的数字. DROP TABLE IF EXISTS logs; ...