部分 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. [软件体系结构/架构]零拷贝技术(Zero-copy)[转发]

    0 前言 近期遇到难题:1个大数据集的查询导出API,因从数据库查询后占用内存极大,每次调用将消耗近100MB的JVM内存资源.故现需考虑研究和应用零拷贝技术. 如下全文摘自: 看一遍就理解:零拷贝原 ...

  2. [Linux]scp/sshpass:物理主机与虚拟机的文件传输

    最初写这篇文章的时候,对 openssh大家族的工具套件(例如: ssh.sshd.ssl.scp等)不太熟悉,现在看来这个文章的标题(虚拟机与物理机)是存在问题的. 本质上,本文关心的并不是[虚拟机 ...

  3. pyinstaller打包python程序

    pyinstaller打包python程序 1.pyinstaller安装 安装命令: #升级pip版本 >>> pip install -U pip #安装pyinstaller ...

  4. Cmder: 懒癌必备!从此告别记事本记命令的日子

    前言 平时开发中遇到这样那样的命令需要记下来,一般做法是这样. 新建记事本 将需要记下的关键命令保存. 每次需要使用时,粘贴复制即可. 好像没什么毛病!直到遇到了 Cmder... 当看到同事分析问题 ...

  5. docker启动mysql注意事项

    1.编码问题 登录mysql伪终端 mysql查看编码 show variables like 'character%'; 宿主机在conf.d中添加配置my.cnf文件 [client] defau ...

  6. Arnold置乱

    一.Arnold置乱概述 Arnold变换是俄国数学家弗拉基米尔·阿诺德(Vladimir Igorevich Arnold)提出,Arnold将其应用在遍历理论研究中.由于Arnold本人最初对一张 ...

  7. Vue中实现数据列表无缝轮播

    类似这种滚动轮播效果 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta char ...

  8. vue路由的两种方式(路由传参)

    query和params区别 query类似 get, 跳转之后页面 url后面会拼接参数,类似?id=1, 非重要性的可以这样传, 密码之类还是用params刷新页面id还在 params类似 po ...

  9. Nuxt3环境变量配置

    Nuxt3 正式发布还不到半年,在投入生产环境使用后,遇到了不少问题,很难找到合适的解决方案,其中环境变量配置就是其中一个,之前一直未能解决,最近要上持续集成,无法绕过这个问题,所以花了点时间研究了一 ...

  10. 省选联考2021vp记

    卡牌游戏 考虑到将 \(a\) 和 \(b\) 放在一起排序,最后朝上的数字必然在左端点为最小值,右端点为最大值的区间中.这个区间中至少有 \(n-m\) 个是原来的 \(a\),且对于每张卡牌必然要 ...