這是 Databricks SQL 和 Databricks Runtime 的 SQL 命令參考。
關於如何理解及使用本參考中的語法符號與符號,請參閱 「如何使用 SQL 參考」。
如需搭配 Lakeflow Spark 宣告式管線使用 SQL 的相關資訊,請參閱 管線 SQL 語言參考。
Note
Azure 中國不提供 Databricks SQL Serverless。 Azure Government 區域中無法使用 Databricks SQL。
一般參考
此一般參考描述資料型別、函式、識別碼、文字及語意。
語言基礎
| Reference | Description |
|---|---|
| 為 SQL 陳述式添加註解 | 在你的 SQL 程式碼中加入註解 |
| 保留詞與架構 | 關鍵字由 SQL 解析器保留 |
| Identifiers | 資料庫物件命名規則 |
| Names | 物件命名慣例 |
| IDENTIFIER 子句 | 動態識別碼解析 |
| SQL 運算式 | 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 的整合 | 蜂巢功能相容性 |
| 函式調用 | 如何呼叫函式 |
Unity 目錄概念
| Reference | Description |
|---|---|
| 校長 | 使用者、群組與服務主體 |
| 在 Unity Catalog 中的權限和可安全存取的物件 | Unity 目錄中的訪問控制 |
| Hive 中繼存放區中的許可權和可保護的物件 | 舊有的元儲存存取控制 |
| 外部位置 | 雲端儲存地點 |
| 外部數據表 | 以外部資料為後盾的表格 |
| Credentials | 儲存存取憑證 |
| Volumes | 管理與外部檔案儲存 |
專題
| Reference | Description |
|---|---|
| Databricks Runtime 中的 ANSI 合規性 | ANSI SQL 標準相容性 |
| Apache Hive 相容性 | Hive SQL 相容性 |
| SQL 腳本 | 程序式 SQL 邏輯 |
| Delta 分享 | 跨組織資料共享 |
| 同盟查詢 (Lakehouse 同盟) | 查詢外部資料庫 |
| 信息架構 | 元資料系統表格 |
DDL 陳述式
資料定義語句用來建立或修改資料庫物件的結構。
ALTER 語句
| Statement | 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 語句
| Statement | Description |
|---|---|
| CREATE BLOOM FILTER INDEX | 建立布隆過濾器索引 |
| CREATE CATALOG | 建立新目錄 |
| CREATE CONNECTION | 建立外部連結 |
| CREATE DATABASE | 建立新資料庫 |
| CREATE FUNCTION (SQL 和 Python) | 建立 SQL 函式 |
| CREATE FUNCTION (外部) | 建立外部功能 |
| CREATE EXTERNAL LOCATION | 建立外部位置 |
| CREATE MATERIALIZED VIEW | 建立具體化檢視 |
| 建立程序 | 建立儲存程序 |
| CREATE RECIPIENT | 建立分享收件人 |
| CREATE SCHEMA | 建立新的結構 |
| CREATE SERVER | 建立外部伺服器 |
| CREATE SHARE | 建立資料分享 |
| CREATE STREAMING TABLE | 建立串流表 |
| CREATE TABLE | 建立新表格 |
| CREATE VIEW | 建立視圖 |
| CREATE VOLUME | 建立磁碟區 |
DROP 語句
分析陳述
其他DDL陳述
| Statement | Description |
|---|---|
| COMMENT ON | 在物件上新增註解 |
| DECLARE VARIABLE | 宣告 session 變數 |
| REPAIR TABLE | 恢復資料表分割區 |
| REFRESH FOREIGN (CATALOG, SCHEMA, , 和 TABLE) | 刷新外部元資料 |
| REFRESH (MATERIALIZED VIEW 或 STREAMING TABLE) | 刷新物質化資料 |
| SET 標記 | 為物件新增標籤 |
SYNC |
同步元資料 |
| TRUNCATE TABLE | 移除所有資料表資料 |
| UNDROP | 還原遺失的表格 |
| UNSET 標記 | 移除物件上的標籤 |
DML 陳述
資料操作語句用於新增、變更或刪除 Delta Lake 資料表中的資料。
| Statement | Description |
|---|---|
COPY INTO |
將檔案資料載入資料表 |
| DELETE FROM | 從表格中刪除資料列 |
| INSERT | 在表格中插入列 |
| INSERT OVERWRITE DIRECTORY | 將查詢結果寫入目錄 |
| INSERT OVERWRITE DIRECTORY 使用Hive格式 | 以 Hive 格式寫入結果 |
| LOAD DATA | 從檔案載入資料 |
| MERGE INTO | Upsert 資料匯入表格 |
| UPDATE | 更新資料表中的資料列 |
數據檢索敘述
根據指定子句從資料表中擷取資料列。 Azure Databricks 支援標準 SELECT 語法與 SQL 管線語法。
查詢語句
| Statement | Description |
|---|---|
| Query | 完整查詢語法參考 |
| SELECT (子選擇) | 從表格中選取資料 |
| VALUES 子句 | 構造內列表格 |
| SQL 資料處理流程語法 | 基於管道的查詢組合 |
| EXPLAIN | 顯示查詢執行計畫 |
查詢子句
| 條款 | Description |
|---|---|
| SELECT 子句 | 欄選取 |
| * (星號)子句 | 選取所有欄位 |
| 數據表參考 | 表格與子查詢來源 |
| JOIN | 從表格中合併資料列 |
| WHERE 子句 | 篩選行 |
| GROUP BY 子句 | 聚合用的群組列 |
| HAVING 子句 | 濾波器分組列 |
| QUALIFY 子句 | 濾波器視窗函數結果 |
| ORDER BY 子句 | 排序結果列 |
| SORT BY 子句 | 分割區內排序 |
| CLUSTER BY 子句(SELECT) | 分發與排序資料 |
| DISTRIBUTE BY 子句 | 資料分散到不同分割區 |
| LIMIT 子句 | 結果列限制 |
| OFFSET 子句 | 跳過結果列 |
| PIVOT 子句 | 將列旋轉成欄 |
| UNPIVOT 子句 | 將欄位旋轉為列 |
| LATERAL VIEW 子句 | 套用表格生成函數 |
| TABLESAMPLE 子句 | 範例表格列 |
| 資料表值函式(TVF)呼叫 | 函式回傳資料表 |
| 公用表格表達式 (CTE) | 具名子查詢 |
| 集合運算子 | 聯合、交錯,除了 |
| WINDOW 子句 | 命名視窗定義 |
| 提示 | 查詢優化器提示 |
三角洲湖聲明
管理以 Delta Lake 格式儲存的資料表。 如需詳細資訊,請參閱 什麼是 Azure Databricks 中的 Delta Lake?。
| Statement | Description |
|---|---|
| CACHE SELECT | 快取查詢結果 |
| CONVERT TO DELTA | 將Parquet改為Delta |
| DESCRIBE HISTORY | 展台歷史 |
| FSCK REPAIR TABLE | 修復表元資料 |
| GENERATE | 產生資料表清單 |
| OPTIMIZE | 精簡表格檔案 |
| REORG TABLE | 重新組織資料表資料 |
| RESTORE | 還原到先前版本 |
| VACUUM | 移除舊的表格檔案 |
SQL 腳本陳述
用 SQL 執行程序邏輯。 請參見 SQL 腳本 以獲得概述。
| Statement | Description |
|---|---|
| BEGIN END 複合陳述 | 將陳述集組成區塊 |
| CASE 陳述式 | 條件分支 |
| FOR 陳述式 | 繞過一個範圍或游標 |
| GET 診斷語句 | 取得執行資訊 |
| IF THEN ELSE 條件語句 | 條件式執行 |
| ITERATE 陳述式 | 繼續進入下一個迴圈迭代 |
| LEAVE語句 | 退出迴圈或區塊 |
| LOOP 陳述式 | 無條件迴圈 |
| REPEAT 陳述式 | 循環直到條件為真 |
| RESIGNAL陳述式 | 重新提出例外 |
| SIGNAL 陳述式 | 提出例外 |
| WHILE 陳述式 | 迴圈 while 條件為真 |
輔助陳述式
收集統計數據、管理快取、探索元資料、設定設定及管理資源。
ANALYZE 語句
| Statement | Description |
|---|---|
| ANALYZE TABLE... 計算統計 | 計算表格欄位統計量 |
| ANALYZE TABLE... 運算儲存指標 | 計算資料表儲存的指標 |
快取陳述式
適用於: Databricks 執行環境
| Statement | Description |
|---|---|
| CACHE TABLE | 記憶體中的快取表 |
| CLEAR CACHE | 移除所有快取資料 |
| REFRESH CACHE | 刷新快取資料 |
| REFRESH FUNCTION | 刷新函數元資料 |
| REFRESH TABLE | 刷新資料表元資料 |
| UNCACHE TABLE | 從快取中移除資料表 |
描述語句
| Statement | 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 聲明
| Statement | 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 | 列表卷冊 |
組態與變數管理
| Statement | Description |
|---|---|
| CALL | 呼叫一個儲存程序 |
| EXECUTE IMMEDIATE | 執行動態 SQL |
| RESET | 將設定重設為預設值 |
| SET | 設定設定參數 |
| SET RECIPIENT | 設定分享接收者上下文 |
| SET TIME ZONE | 設定會話時區 |
| SET 變數 | 設定變數值 |
| USE CATALOG | 現行目錄 |
| USE DATABASE | 設定目前資料庫 |
| USE SCHEMA | 設定電流結構 |
資源管理
適用於: Databricks 執行環境
| Statement | Description |
|---|---|
| ADD ARCHIVE | 將歸檔加入會話 |
| ADD FILE | 將檔案加入會話 |
| ADD JAR | 將 JAR 加入會話 |
| LIST ARCHIVE | 列表會議檔案 |
| LIST FILE | 清單會話檔案 |
| LIST JAR | 列表會話 JAR |
適用於: Databricks SQL 連接器
| Statement | Description |
|---|---|
| GET | 從卷中下載檔案 |
| PUT INTO | 上傳檔案到卷 |
| REMOVE | 從卷中刪除檔案 |
安全聲明
管理資料存取權限。 詳情請參見 Hive 元儲存權限與可保護物件(舊有)。
| Statement | 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 | 節目收禮者特權 |