PostgreSQL 12 文档: 部分 II. SQL 语言

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 部分 II. SQL 语言这部份描述在PostgreSQL中SQL语言的使用。我们从描述SQL的一般语法开始,然后解释如何创建保存数据的结构、如何填充数据库以及如何查询它。中间的部分列出了在SQL命令中可用的数据类型和函数。剩余的部分则留给对于调优数据性能的重要方面。这部份的信息被组织成让一个新用户可以从头到尾跟随它来全面理解主题,而不需要多次参考后面的内容。这些章都是自包含的,这样高级用户可以根据他们的选择阅读单独的章。这一部分的信息被以一种叙事的风格展现。需要查看一个特定命令的完整描述的读者应该去看看第 VI 部分。

部分 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. 并行安全性

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
22天前
|
SQL 关系型数据库 MySQL
在MySQL中,什么是结构化查询语言 (SQL)
【8月更文挑战第20天】在MySQL中,什么是结构化查询语言 (SQL)
30 1
|
8天前
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
19天前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
22 3
|
1月前
|
SQL 安全 关系型数据库
PostgreSQL SQL注入漏洞(CVE-2018-10915)--处理
【8月更文挑战第8天】漏洞描述:PostgreSQL是一款自由的对象关系型数据库管理系统,支持多种SQL标准及特性。存在SQL注入漏洞,源于应用未有效验证外部输入的SQL语句,允许攻击者执行非法命令。受影响版本包括10.5及更早版本等。解决方法为升级PostgreSQL
157 2
|
11天前
|
SQL 关系型数据库 MySQL
|
11天前
|
SQL 存储 大数据
SQL 语言发展史简直太震撼啦!从诞生到现代数据处理,见证一场奇妙的演变之旅,快来感受!
【8月更文挑战第31天】SQL(结构化查询语言)自20世纪70年代由IBM研究员E.F. Codd提出以来,已成为现代数据处理不可或缺的一部分。它最初简化了层次和网状模型中复杂的存储与检索问题,通过基本的SELECT、FROM和WHERE关键字实现了数据查询。80年代,SQL在商业数据库中广泛应用,引入了GROUP BY、HAVING和ORDER BY等功能,增强了数据分析能力。90年代,互联网和企业信息化推动了SQL的进一步优化与扩展,支持分布式数据库和数据仓库等技术。
22 0
|
11天前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
21 0
|
11天前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
20 0
|
11天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
70 0
|
21天前
|
SQL Java 数据库连接

热门文章

最新文章