다음을 통해 공유

SQL 语言参考

这是 Databricks SQL 和 Databricks Runtime 的 SQL 命令参考。

有关如何理解和使用此参考中的语法表示法和符号的信息,请参阅 如何使用 SQL 参考。 有关将 SQL 与 Lakeflow Spark 声明性管道配合使用的信息,请参阅 Pipeline SQL 语言参考

常规参考

此常规参考介绍了数据类型、函数、标识符、文本和语义。

语言基础知识

引用 说明
向 SQL 语句添加注释 向 SQL 代码添加注释
保留字和架构 SQL 分析器保留的关键字
标识符 命名数据库对象的规则
名称 对象命名约定
IDENTIFIER 子句 动态标识符解析
SQL 表达式 (SQL expression) SQL 表达式语法和计算
NULL 语义 如何处理 NULL 值
参数标记 参数化查询占位符
变量 会话和临时变量
名称解析 如何解析对象名称
JSON 路径表达式 导航 JSON 数据结构
排序规则 字符串比较和排序规则
分区 表分区概念

数据类型

引用 说明
数据类型 所有受支持的数据类型概述
SQL 数据类型规则 类型强制和转换规则
日期/时间模式 日期和时间的格式模式

配置参数

引用 说明
配置参数 SQL 配置概述
ANSI_MODE (ANSI模式) ANSI SQL 符合性模式
LEGACY_TIME_PARSER_POLICY 时间分析行为
MAX_FILE_PARTITION_BYTES 文件分区大小限制
READ_ONLY_EXTERNAL_METASTORE 外部元存储访问模式
STATEMENT_TIMEOUT 查询超时设置
TIMEZONE 会话时区
USE_CACHED_RESULT 查询结果缓存

Functions

引用 说明
函数 SQL 函数概述
内置函数 所有内置函数
内置函数的字母顺序列表 完整的 A-Z 函数参考
开窗函数 分析和排名函数
Lambda 函数 匿名函数表达式
H3 地理空间函数 六边形分层空间索引
ST 地理空间函数 标准地理空间函数
用户定义的聚合函数 (UDAF) 自定义聚合函数
外部用户定义的标量函数 (UDF) 自定义标量函数
与 Hive UDF、UDAF 和 UDTF 的集成 Hive 函数兼容性
函数调用 如何调用函数

Unity Catalog 概念

引用 说明
校长 用户、组和服务主体
Unity Catalog 中的特权和安全对象 Unity 目录中的访问控制
Hive 元存储中的特权和安全对象 旧元存储访问控制
外部位置 云存储位置
外部表 外部数据支持的表
凭据 存储访问凭据
托管文件和外部文件存储

特别专题

引用 说明
Databricks Runtime 中的 ANSI 合规性 ANSI SQL 标准兼容性
Apache Hive 兼容性 Hive SQL 兼容性
SQL 脚本 过程 SQL 逻辑
增量共享 跨组织数据共享
联合查询(湖屋联合) 查询外部数据库
信息架构 元数据系统表

DDL 语句

数据定义语句创建或修改数据库对象的结构。

ALTER 语句

声明 说明
ALTER CATALOG 修改目录属性
更改连接 修改连接设置
ALTER CREDENTIAL 修改凭据属性
修改数据库 修改数据库属性
更改外部位置 修改外部位置
修改物化视图 修改具体化视图
更改供应商 修改数据提供程序
ALTER RECIPIENT 修改共享收件人
ALTER SCHEMA 修改架构属性
ALTER SHARE 修改共享配置
修改流式表 修改流式处理表
修改表 修改表结构
更改视图 修改视图定义
修改音量 修改卷属性

CREATE 语句

声明 说明
创建 BLOOM 筛选器索引 创建 bloom 筛选器索引
CREATE CATALOG 创建新目录
创建连接 创建外部连接
创建数据库 新建数据库
CREATE FUNCTION(SQL 和 Python) 创建 SQL 函数
CREATE FUNCTION(外部) 创建外部函数
创建外部位置 创建外部位置
创建具体化视图 创建具体化视图
CREATE POLICY 创建行筛选器或列掩码策略
CREATE PROCEDURE(创建过程) 创建存储过程
创建收件人 创建共享收件人
创建架构 创建新架构
创建服务器 创建外部服务器
CREATE SHARE 创建数据共享
创建流表 创建流式处理表
创建表格 创建新表
CREATE VIEW 创建视图
创建卷 创建卷

DROP 语句

声明 说明
DROP BLOOM 筛选器索引 删除开花筛选器索引
删除目录 删除目录
断开连接 删除外部连接
删除凭据 删除存储凭据
删除数据库 删除数据库
.DROP FUNCTION 删除函数
删除外部位置 删除外部位置
DROP POLICY 删除行筛选器或列掩码策略
删除过程 删除存储过程
DROP PROVIDER 删除共享提供程序
删除收件人 删除共享收件人
删除 SCHEMA 删除架构
DROP SHARE 删除数据共享
DROP TABLE 删除整张表
删除变量 删除会话变量
俯视图 删除视图
DROP VOLUME 删除卷

分析语句

其他 DDL 语句

声明 说明
评论 向对象添加注释
声明变量 声明会话变量
修复表 恢复表分区
刷新 FOREIGN (CATALOG、SCHEMA 和 TABLE) 刷新外部元数据
REFRESH(MATERIALIZED VIEW 或 STREAMING TABLE) 刷新具体化数据
SET TAG 向对象添加标记
SYNC 同步元数据
TRUNCATE TABLE 删除所有表数据
UNDROP 还原已删除的表
未设置标签 从对象中删除标记

DML 语句

数据作语句在 Delta Lake 表中添加、更改或删除数据。

声明 说明
COPY INTO 将数据从文件加载到表中
DELETE FROM 从表中删除行
插入 在表中插入行
插入覆盖目录 将查询结果写入目录
包含 Hive 格式的 INSERT OVERWRITE DIRECTORY 以 Hive 格式编写结果
加载数据 从文件加载数据
合并插入 将数据向上插入表
更新 更新表中的行

数据检索语句

根据指定的子句从表中检索行。 Azure Databricks 支持标准 SELECT 语法和 SQL 管道语法

查询语句

声明 说明
查询 完整查询语法参考
SELECT (子选择) 从表中选择数据
VALUES 子句 构造内联表
SQL 管道语法 基于管道的查询组合
解释 显示查询执行计划

查询子句

条款 说明
SELECT 子句 列选择
* (star) 子句 选择所有列
表格引用 表和子查询源
加入 合并表中的行
WHERE 子句 筛选行
GROUP BY 子句 对行进行聚合分组
HAVING 子句 筛选分组行
QUALIFY 子句 筛选窗口函数结果
ORDER BY 子句 对结果行进行排序
SORT BY 子句 在分区内排序
CLUSTER BY 字句 (SELECT) 分发和排序数据
DISTRIBUTE BY 子句 跨分区分布数据
LIMIT 子句 限制结果行
OFFSET 子句 跳过结果行
PIVOT 子句 将行旋转到列
UNPIVOT 子句 将列旋转到行
LATERAL VIEW 子句 应用表生成函数
Tablesample 子句 示例表行
表值函数 (TVF) 调用 返回表的函数
公用表表达式 (CTE) 命名子查询
设置运算符 UNION、INTERSECT、EXCEPT
WINDOW 子句 命名窗口定义
提示 查询优化器提示

Delta Lake 语句

管理以 Delta Lake 格式存储的表。 有关详细信息,请参阅 什么是 Azure Databricks 中的 Delta Lake?

声明 说明
CACHE SELECT 缓存查询结果
转换为 DELTA 将 Parquet 转换为 Delta
描述历史 显示表历史记录
FSCK 修复表 修复表元数据
生成 生成表清单
优化 压缩表文件
REORG 表 重新组织表数据
恢复 将表还原到以前的版本
真空 删除旧表文件

SQL 脚本语句

在 SQL 中执行过程逻辑。 有关概述,请参阅 SQL 脚本

声明 说明
BEGIN END 复合语句 将语句分组到块中
CASE 语句 条件分支
FOR 语句 循环访问区域或游标
GET DIAGNOSTICS 语句 检索执行信息
IF THEN ELSE 语句 条件执行
ITERATE 语句 继续下一循环迭代
LEAVE 语句 退出循环或块
LOOP 语句 无条件循环
REPEAT 语句 循环直到条件为 true
RESIGNAL 语句 重新引发异常
SIGNAL 语句 引发异常
while语句 条件为 true 时循环

辅助语句

收集统计信息、管理缓存、浏览元数据、设置配置和管理资源。

ANALYZE 语句

声明 说明
分析表... 计算统计信息 计算表列统计信息
分析表... 计算存储指标 计算表存储指标

缓存声明

适用于: Databricks Runtime

声明 说明
缓存表 内存中的缓存表
清除缓存 删除所有缓存的数据
刷新缓存 刷新缓存的数据
刷新功能 刷新函数元数据
刷新表格 刷新表元数据
UNCACHE 表 从缓存中删除表

DESCRIBE 语句

声明 说明
描述目录 显示目录详细信息
描述连接 显示连接详细信息
描述凭据 显示凭据详细信息
描述数据库 显示数据库详细信息
描述函数 显示函数详细信息
描述外部位置 显示位置详细信息
DESCRIBE POLICY 显示策略详细信息
描述程序 显示过程详细信息
描述提供者 显示提供程序详细信息
描述查询 显示查询输出架构
描述收件人 显示收件人详细信息
描述架构 显示架构详细信息
描述共享 显示共享详细信息
描述表格 显示表详细信息
DESCRIBE VOLUME 显示卷详细信息

SHOW 语句

声明 说明
列表 列出路径中的文件
全部在共享中显示 显示共享中的所有对象
显示目录 列出目录
显示列 列出表列
显示连接 列出连接
显示 CREATE TABLE 显示表 DDL
显示凭据 列出凭据
显示数据库 列出数据库
显示功能 列表函数
显示组 列出组
显示外部位置 列出外部位置
显示分区 列出表分区
显示策略 列出安全对象上的策略
展示过程 列出过程
显示提供商 列出提供程序
显示收件人 列出收件人
显示架构 列出模式
显示共享资源 列出共享项
显示服务提供商中的共享 列出来自提供商的共享
显示扩展表 显示表信息
显示表格 列出表格
显示已删除的表格 列出已删除的表
SHOW TBLPROPERTIES 显示表属性
显示用户 列出用户
显示视图 列表视图
显示磁盘卷 列出卷

配置和变量管理

声明 说明
呼叫 调用存储过程
立即执行 执行动态 SQL
重置 将配置重置为默认值
设置 设置配置参数
设置接收者 设置共享收件人上下文
设置时区 设置会话时区
SET 变量 设置变量值
USE CATALOG 设置当前目录
使用数据库 设置当前数据库
使用模式 设置当前架构

资源管理

适用于: Databricks Runtime

声明 说明
添加归档 将存档添加到会话
添加文件 将文件添加到会话
添加 JAR 将 JAR 添加到会话
列表存档 列出会话存档
列表文件 列出会话文件
列出 JAR 列出会话 JAR

适用于: Databricks SQL 连接器

声明 说明
获取 从卷下载文件
PUT INTO 将文件上传到卷
删除 从卷中删除文件

安全语句

管理对数据的访问。 有关详细信息,请参阅 Hive 元存储特权和安全对象(旧版)。

声明 说明
ALTER GROUP 修改组成员身份
CREATE GROUP 创建新组
拒绝 拒绝特权
删除群组 删除组
授予 授予特权
授予共享权限 授予共享访问权限
MSCK 修复权限 修复特权元数据
撤回 撤销权限
吊销共享权限 撤销共享访问权限
显示权限 显示授予的权限
显示共享的权限 显示共享权限
显示授权给接收者 显示收件人权限