Skip to content

元ドキュメント: DML 構文の互換性

DML 構文の互換性

概要

TDSQL Boundless の MySQL 互換モードでは、主要な DML(Data Manipulation Language)構文をサポートしています。本ドキュメントでは、SELECT、INSERT、UPDATE、DELETE 等の DML 構文の互換性について説明します。

SELECT

サポートされる構文

sql
SELECT [DISTINCT] column_list
FROM table_references
[WHERE condition]
[GROUP BY column_list]
[HAVING condition]
[ORDER BY column_list]
[LIMIT [offset,] row_count];

JOIN のサポート状況

JOIN タイプ対応状況
INNER JOIN対応済み
LEFT JOIN対応済み
RIGHT JOIN対応済み
CROSS JOIN対応済み
NATURAL JOIN対応済み

サブクエリのサポート状況

  • スカラーサブクエリ — 対応済み
  • 行サブクエリ — 対応済み
  • テーブルサブクエリ(FROM 句内) — 対応済み
  • EXISTS / NOT EXISTS — 対応済み
  • IN / NOT IN — 対応済み
  • 相関サブクエリ — 対応済み

集約関数

以下の集約関数をサポートしています。

  • COUNT(), SUM(), AVG(), MAX(), MIN()
  • GROUP_CONCAT()
  • COUNT(DISTINCT ...)

ウィンドウ関数

以下のウィンドウ関数をサポートしています。

  • ROW_NUMBER(), RANK(), DENSE_RANK()
  • LEAD(), LAG()
  • FIRST_VALUE(), LAST_VALUE()

INSERT

サポートされる構文

sql
-- 単一行の挿入
INSERT INTO table_name (column_list) VALUES (value_list);

-- 複数行の挿入
INSERT INTO table_name (column_list) VALUES
    (value_list_1),
    (value_list_2),
    ...;

-- INSERT ... ON DUPLICATE KEY UPDATE
INSERT INTO table_name (column_list) VALUES (value_list)
ON DUPLICATE KEY UPDATE column = value;

制限事項

  • INSERT ... SELECT はサポートされていますが、大規模なデータ挿入の場合はバッチ処理を推奨します。
  • INSERT IGNORE はサポートされています。

UPDATE

サポートされる構文

sql
UPDATE table_name
SET column1 = value1, column2 = value2, ...
[WHERE condition]
[ORDER BY column_list]
[LIMIT row_count];

制限事項

  • 複数テーブルの同時 UPDATE はサポートされていません。
  • 主キーカラムの更新には制限がある場合があります。

DELETE

サポートされる構文

sql
DELETE FROM table_name
[WHERE condition]
[ORDER BY column_list]
[LIMIT row_count];

制限事項

  • 複数テーブルの同時 DELETE はサポートされていません。
  • TRUNCATE TABLE は DDL として別途サポートされています。

REPLACE

sql
REPLACE INTO table_name (column_list) VALUES (value_list);

REPLACE 構文をサポートしています。主キーまたはユニークキーに基づき、既存行の置換または新規行の挿入を行います。

Tencent Cloud プロダクトドキュメント