DML語法
更新時間 2025-06-17 10:22:25
最近更新時間: 2025-06-17 10:22:25
分享文章
本文主要介紹了DRDS組件的DML語法規則。
DELETE
常用語法
DELETE
FROM tbl_name [WHERE where_condition]
語法限制
原則上where_condition部分只能允許出現簡單的條件,不支持計算表達式以及子查詢。
INSERT
常用語法
INSERT [INTO] tbl_name (col_name[,col_name]...)
{VALUES|VALUE} (value_list)[,(value_list)]...
[ON DUPLICATE KEY UPDATE assignment_list]
語法限制
- 不支持不帶分片鍵的insert語句插入。
- 不支持insert set使用。
- 不支持 INSERT DELAYED Syntax。
SELECT
- 暫不支持 SELECT INTO OUTFILE/INTO DUMPFILE/INTO var_name。
SELECT JOIN 語法
DRDS 的 JOIN 查詢可下推的 JOIN 主要分為以下幾類:
- 單表(即非分片表)之間的 JOIN。
- 參與 JOIN 的表在過濾條件中均帶有分片鍵作為條件,并且分片算法相同(即通過分片算法計算的數據分布在相同分片上)。
- 參與 JOIN 的表均按照分片鍵作為 JOIN 條件,并且分片算法相同。
- 全局表與分片表之間的 JOIN。
SELECT UNION 語法
- 使用union關鍵字的sql,要求其中涉及的分片表的分片規則及配置參數一致,使用union all關鍵字的sql則無此要求。
- 分片表不支持union/union all與聚合函數、limit、groupby、having、orderby等關鍵字聯用。
- 不支持分片表和全局表union。
SELECT Subquery 語法
Comparisons Using Subqueries

Subqueries with ANY, IN, NOT IN, SOME,ALL,Exists,NOT Exists

語法限制:
- 不支持標量子查詢 The Subquery as Scalar Operand。
- 部分支持提取表 Subqueries in the FROM Clause。
UPDATE
常用語法
UPDATE table_reference
SET assignment_list
[WHERE where_condition]
語法限制
- 原則上where_condition部分只能允許出現簡單的條件,不支持計算表達式以及子查詢。
不支持的DML語法列舉
- 不支持 REPLCAE語法。
- 不支持 INSERT DELAYED Syntax。
支持的系統庫查詢
- SELECT version() 。