II. SQL 语言
这一部分描述 PostgreSQL 里面 SQL 语言的使用。我们从描述 SQL 的一般语法开始,然后解释如何创建保存数据的结构、如何填充数据库、以及如何查询数据库。 中间部分列出了用户可以在 SQL 命令中使用的数据类型和函数。 剩下的部分讨论那些对调节数据库、优化其性能很重要的几个方面。
这部分的信息是这样安排的:新手可以从头读到尾,便可以获取相关主题的完整信息, 而不需要向前参考太多次。里面的章节是设计成内容完整独立的,这样高级用户就可以选择独立的章节来阅读。 这部分的信息是按照主题单元以叙述的方式组织的。如果你需要了解特定命令的完整描述,那么应该看看 Part VI。
本书的读者应该知道如何连接 PostgreSQL 数据库并执行 SQL 命令。我们建议那些不熟悉这些方面的读者首先阅读 Part I 。通常 SQL 命令是通过 PostgreSQL 交互终端 psql 输入的,但也可以使用其它有类似功能的程序。
Table of Contents
- 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. 依赖性跟踪
- 6. 数据操作
- 6.1. 插入数据
- 6.2. 更新数据
- 6.3. 删除数据
- 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. Arrays
- 8.16. 复合类型
- 8.17. 范围类型
- 8.18. 对象标识符类型
- 8.19. 伪类型
- 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. 事件触发函数
- 10. 类型转换
- 10.1. 概述
- 10.2. 操作符
- 10.3. 函数
- 10.4. 值存储
- 10.5.
UNION
,CASE
和相关构造
- 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. 检查索引的使用
- 12. 全文检索
- 12.1. 介绍
- 12.2. 表和索引
- 12.3. 控制文本搜索
- 12.4. 附加功能
- 12.5. 解析器
- 12.6. 词典
- 12.7. 配置实例
- 12.8. 测试和调试文本搜索
- 12.9. GiST和GIN索引类型
- 12.10. psql支持
- 12.11. 限制
- 12.12. 来自8.3之前文本搜索的迁移
- 13. 并发控制
- 13.1. 介绍
- 13.2. 事务隔离
- 13.3. 明确锁定
- 13.4. 应用层数据完整性检查
- 13.5. 锁和索引
- 14. 性能提升技巧
- 14.1. 使用
EXPLAIN
- 14.2. 规划器使用的统计信息
- 14.3. 用明确的
JOIN
控制规划器 - 14.4. 向数据库中添加记录
- 14.5. 非持久性设置
- 14.1. 使用