通过


SQL 语言参考

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

有关如何理解和使用此参考中的语法表示法和符号的信息,请参阅 如何使用 SQL 参考

有关将 SQL 与 Lakeflow Spark 声明性管道配合使用的信息,请参阅 Pipeline SQL 语言参考

Note

Databricks SQL 无服务器在 Azure 中国区域不可用。 Databricks SQL 在 Azure 政府区域不可用。

常规参考

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

语言基础知识

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

数据类型

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

配置参数

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

Functions

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

Unity 目录概念

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

专题

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

DDL 语句

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

ALTER 语句

声明 Description
ALTER CATALOG 修改目录属性
ALTER CONNECTION 修改连接设置
ALTER CREDENTIAL 修改凭据属性
ALTER DATABASE 修改数据库属性
ALTER EXTERNAL LOCATION 修改外部位置
ALTER MATERIALIZED VIEW 修改具体化视图
ALTER PROVIDER 修改数据提供程序
ALTER RECIPIENT 修改共享收件人
ALTER SCHEMA 修改架构属性
ALTER SHARE 修改共享配置
ALTER STREAMING TABLE 修改流式处理表
ALTER TABLE 修改表结构
ALTER VIEW 修改视图定义
ALTER VOLUME 修改卷属性

CREATE 语句

声明 Description
CREATE BLOOM FILTER INDEX 创建 bloom 筛选器索引
CREATE CATALOG “创建新目录”
CREATE CONNECTION 创建外部连接
CREATE DATABASE 新建数据库
CREATE FUNCTION (SQL 和 Python) 创建 SQL 函数
CREATE FUNCTION(外部) 创建外部函数
CREATE EXTERNAL LOCATION 创建外部位置
CREATE MATERIALIZED VIEW 创建具体化视图
CREATE PROCEDURE(创建过程) 创建存储过程
CREATE RECIPIENT 创建共享收件人
CREATE SCHEMA 创建新架构
CREATE SERVER 创建外部服务器
CREATE SHARE 创建数据共享
CREATE STREAMING TABLE 创建流式处理表
CREATE TABLE 创建新表
CREATE VIEW 创建视图
CREATE VOLUME 创建卷

DROP 语句

分析语句

其他 DDL 语句

声明 Description
COMMENT ON 向对象添加注释
DECLARE VARIABLE 声明会话变量
REPAIR TABLE 恢复表分区
REFRESH FOREIGN (CATALOG、 SCHEMA和 TABLE) 刷新外部元数据
REFRESH(MATERIALIZED VIEW 或 STREAMING TABLE) 刷新具体化数据
SET 标记 向对象添加标记
SYNC 同步元数据
TRUNCATE TABLE 删除所有表数据
UNDROP 还原已删除的表
UNSET 标记 从对象中删除标记

DML 语句

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

声明 Description
COPY INTO 将数据从文件加载到表中
DELETE FROM 从表中删除行
INSERT 在表中插入行
INSERT OVERWRITE DIRECTORY 将查询结果写入目录
使用 Hive 格式 的 INSERT OVERWRITE DIRECTORY 以 Hive 格式编写结果
LOAD DATA 从文件加载数据
MERGE INTO 将数据向上插入表
UPDATE 更新表中的行

数据检索语句

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

查询语句

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

查询子句

子句 Description
SELECT 子句 列选择
* (star) 子句 选择所有列
表格引用 表和子查询源
JOIN 合并表中的行
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?

声明 Description
CACHE SELECT 缓存查询结果
CONVERT TO DELTA 将 Parquet 转换为 Delta
DESCRIBE HISTORY 显示表历史记录
FSCK REPAIR TABLE 修复表元数据
GENERATE 生成表清单
OPTIMIZE 压缩表文件
REORG TABLE 重新组织表数据
RESTORE 将表还原到以前的版本
VACUUM 删除旧表文件

SQL 脚本语句

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

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

辅助语句

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

ANALYZE 语句

声明 Description
ANALYZE TABLE … 计算统计信息 计算表列统计信息
ANALYZE TABLE … 计算存储指标 计算表存储指标

Cache 语句

适用于: Databricks Runtime

声明 Description
CACHE TABLE 内存中的缓存表
CLEAR CACHE 删除所有缓存的数据
REFRESH CACHE 刷新缓存的数据
REFRESH FUNCTION 刷新函数元数据
REFRESH TABLE 刷新表元数据
UNCACHE TABLE 从缓存中删除表

DESCRIBE 语句

声明 Description
DESCRIBE CATALOG 显示目录详细信息
DESCRIBE CONNECTION 显示连接详细信息
DESCRIBE CREDENTIAL 显示凭据详细信息
DESCRIBE DATABASE 显示数据库详细信息
DESCRIBE FUNCTION 显示函数详细信息
DESCRIBE EXTERNAL LOCATION 显示位置详细信息
描述程序 显示过程详细信息
DESCRIBE PROVIDER 显示提供程序详细信息
DESCRIBE QUERY 显示查询输出架构
DESCRIBE RECIPIENT 显示收件人详细信息
DESCRIBE SCHEMA 显示架构详细信息
DESCRIBE SHARE 显示共享详细信息
DESCRIBE TABLE 显示表详细信息
DESCRIBE VOLUME 显示卷详细信息

SHOW 语句

声明 Description
LIST 列出路径中的文件
SHOW ALL IN SHARE 显示共享中的所有对象
SHOW CATALOGS 列出目录
SHOW COLUMNS 列出表列
SHOW CONNECTIONS 列出连接
SHOW CREATE TABLE 显示表 DDL
SHOW CREDENTIALS 列出凭据
SHOW DATABASES 列出数据库
SHOW FUNCTIONS 列表函数
SHOW GROUPS 列出组
SHOW EXTERNAL LOCATIONS 列出外部位置
SHOW PARTITIONS 列出表分区
展示过程 列出过程
SHOW PROVIDERS 列出提供程序
SHOW RECIPIENTS 列出收件人
SHOW SCHEMAS 列出模式
SHOW SHARES 列出共享项
SHOW SHARES IN PROVIDER 列出来自提供商的共享
SHOW TABLE EXTENDED 显示表信息
SHOW TABLES 列出表格
SHOW TABLES DROPPED 列出已删除的表
SHOW TBLPROPERTIES 显示表属性
SHOW USERS 列出用户
SHOW VIEWS 列表视图
SHOW VOLUMES 列出卷

配置和变量管理

声明 Description
CALL 调用存储过程
EXECUTE IMMEDIATE 执行动态 SQL
RESET 将配置重置为默认值
SET 设置配置参数
SET RECIPIENT 设置共享收件人上下文
SET TIME ZONE 设置会话时区
SET 变量 设置变量值
USE CATALOG 设置当前目录
USE DATABASE 设置当前数据库
USE SCHEMA 设置当前架构

资源管理

适用于: Databricks Runtime

声明 Description
ADD ARCHIVE 将存档添加到会话
ADD FILE 将文件添加到会话
ADD JAR 将 JAR 添加到会话
LIST ARCHIVE 列出会话存档
LIST FILE 列出会话文件
LIST JAR 列出会话 JAR

适用于: Databricks SQL 连接器

声明 Description
GET 从卷下载文件
PUT INTO 将文件上传到卷
REMOVE 从卷中删除文件

安全语句

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

声明 Description
ALTER GROUP 修改组成员身份
CREATE GROUP 创建新组
DENY 拒绝特权
DROP GROUP 删除组
GRANT 授予特权
GRANT ON SHARE 授予共享访问权限
MSCK REPAIR PRIVILEGES 修复特权元数据
REVOKE 撤销权限
REVOKE ON SHARE 撤销共享访问权限
SHOW GRANTS 显示授予的权限
SHOW GRANTS ON SHARE 显示共享权限
SHOW GRANTS TO RECIPIENT 显示收件人权限