ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# II. SQL 语言 这一部分描述 PostgreSQL 里面 SQL 语言的使用。我们从描述 SQL 的一般语法开始,然后解释如何创建保存数据的结构、如何填充数据库、以及如何查询数据库。 中间部分列出了用户可以在 SQL 命令中使用的数据类型和函数。 剩下的部分讨论那些对调节数据库、优化其性能很重要的几个方面。 这部分的信息是这样安排的:新手可以从头读到尾,便可以获取相关主题的完整信息, 而不需要向前参考太多次。里面的章节是设计成内容完整独立的,这样高级用户就可以选择独立的章节来阅读。 这部分的信息是按照主题单元以叙述的方式组织的。如果你需要了解特定命令的完整描述,那么应该看看 [Part VI](#calibre_link-1234)。 本书的读者应该知道如何连接 PostgreSQL 数据库并执行 SQL 命令。我们建议那些不熟悉这些方面的读者首先阅读 [Part I](#calibre_link-1235) 。通常 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\. 非持久性设置