SQL文の概要
TiDB は、必要に応じて MySQL および TiDB 固有のステートメントの拡張機能を使用して、ISO/IEC SQL 標準に準拠することを目的とした SQL ステートメントを使用します。
スキーマ管理 / データ定義文(DDL)
| SQL文 | 説明 | 
|---|---|
ALTER DATABASE | データベースを変更します。 | 
ALTER SEQUENCE | シーケンスを変更します。 | 
ALTER TABLE ... ADD COLUMN | 既存のテーブルに列を追加します。 | 
ALTER TABLE ... ADD INDEX | 既存のテーブルにインデックスを追加します。 | 
ALTER TABLE ... ALTER INDEX | インデックス定義を変更します。 | 
ALTER TABLE ... CHANGE COLUMN | 列の定義を変更します。 | 
ALTER TABLE ... COMPACT | テーブルを圧縮します。 | 
ALTER TABLE ... DROP COLUMN | テーブルから列を削除します。 | 
ALTER TABLE ... MODIFY COLUMN | 列定義を変更します。 | 
ALTER TABLE ... RENAME INDEX | インデックスの名前を変更します。 | 
ALTER TABLE | テーブル定義を変更します。 | 
CREATE DATABASE | 新しいデータベースを作成します。 | 
CREATE INDEX | テーブルに新しいインデックスを作成します。 | 
CREATE SEQUENCE | 新しいシーケンス オブジェクトを作成します。 | 
CREATE TABLE LIKE | データをコピーせずに、既存のテーブルの定義をコピーします。 | 
CREATE TABLE | 新しいテーブルを作成します。 | 
CREATE VIEW | 新しいビューを作成します。 | 
DROP DATABASE | 既存のデータベースを削除します。 | 
DROP INDEX | テーブルからインデックスを削除します。 | 
DROP SEQUENCE | シーケンス オブジェクトを削除します。 | 
DROP TABLE | 既存のテーブルを削除します。 | 
DROP VIEW | 既存のビューを削除します。 | 
RENAME TABLE | テーブルの名前を変更します。 | 
SHOW COLUMNS FROM | テーブルの列を表示します。 | 
SHOW CREATE DATABASE | データベースの CREATE ステートメントを表示します。 | 
SHOW CREATE SEQUENCE | シーケンスの CREATE ステートメントを表示します。 | 
SHOW CREATE TABLE | テーブルの CREATE ステートメントを表示します。 | 
SHOW DATABASES | 現在のユーザーが権限を持つデータベースのリストを表示します。 | 
SHOW FIELDS FROM | テーブルの列を表示します。 | 
SHOW INDEXES | テーブルのインデックスを表示します。 | 
SHOW SCHEMAS | SHOW DATABASESのエイリアス。現在のユーザーが権限を持つデータベースのリストを表示します。 | 
SHOW TABLE NEXT_ROW_ID | テーブルの次の行 ID を表示します。 | 
SHOW TABLE REGIONS | TiDB 内のテーブルのリージョン情報を表示します。 | 
SHOW TABLE STATUS | TiDB 内のテーブルに関するさまざまな統計を表示します。 | 
SHOW TABLES | データベース内のテーブルを表示します。 | 
TRUNCATE | テーブルからすべてのデータを切り捨てます。 | 
データ操作ステートメント(DML)
| SQL文 | 説明 | 
|---|---|
BATCH | DML ステートメントを TiDB 内の複数のステートメントに分割して実行します。 | 
DELETE | テーブルから行を削除します。 | 
INSERT | テーブルに新しい行を挿入します。 | 
REPLACE | 既存の行を置き換えるか、新しい行を挿入します。 | 
SELECT | テーブルからデータを読み取ります。 | 
TABLE | テーブルから行を取得します。 | 
UPDATE | テーブル内の既存の行を更新します。 | 
WITH | 共通テーブル式を定義します。 | 
トランザクション明細書
| SQL文 | 説明 | 
|---|---|
BEGIN | 新しいトランザクションを開始します。 | 
COMMIT | 現在のトランザクションをコミットします。 | 
ROLLBACK | 現在のトランザクションをロールバックします。 | 
SAVEPOINT | トランザクション内にセーブポイントを設定します。 | 
SET TRANSACTION | 現在の分離レベルをGLOBALまたはSESSIONベースで変更します。 | 
START TRANSACTION | 新しいトランザクションを開始します。 | 
準備された声明
| SQL文 | 説明 | 
|---|---|
DEALLOCATE | プリペアドステートメントの割り当てを解除し、関連するリソースを解放します。 | 
EXECUTE | 特定のパラメータ値を使用してプリペアドステートメントを実行します。 | 
PREPARE | プレースホルダーを使用してプリペアドステートメントを作成します。 | 
行政声明
| SQL文 | 説明 | 
|---|---|
ADMIN ALTER DDL JOBS | 実行中の単一の DDL ジョブのパラメータを変更します。 | 
ADMIN CANCEL DDL | DDL ジョブをキャンセルします。 | 
| [`ADMIN CHECK [TABLE | INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) | 
ADMIN CHECKSUM TABLE | テーブルのチェックサムを計算します。 | 
ADMIN CLEANUP INDEX | テーブルからインデックスをクリーンアップします。 | 
ADMIN PAUSE DDL | DDL 操作を一時停止します。 | 
ADMIN RESUME DDL | DDL 操作を再開します。 | 
| [`ADMIN SHOW DDL [JOBS | JOB QUERIES]`](/sql-statements/sql-statement-admin-show-ddl.md) | 
ADMIN | さまざまな管理タスクを実行します。 | 
FLUSH TABLES | MySQLの互換性に含まれています。TiDB では有効な使用方法はありません。 | 
SET <variable> | システム変数またはユーザー変数を変更します。 | 
| [`SET [NAMES | CHARACTER SET]`](/sql-statements/sql-statement-set-names.md) | 
SPLIT REGION | リージョンを小さな領域に分割します。 | 
データのインポートとエクスポート
| SQL文 | 説明 | 
|---|---|
CANCEL IMPORT JOB | 進行中のインポート ジョブをキャンセルします。 | 
IMPORT INTO | TiDB Lightningの物理インポートモード介してデータをテーブルにインポートします。 | 
LOAD DATA | Amazon S3 または Google Cloud Storage からテーブルにデータをロードします。 | 
SHOW IMPORT JOB | インポート ジョブのステータスを表示します。 | 
バックアップと復元
| SQL文 | 説明 | 
|---|---|
BACKUP | TiDB クラスターの分散バックアップを実行します。 | 
FLASHBACK CLUSTER | クラスターを特定のスナップショットに復元します。 | 
FLASHBACK DATABASE | DROPステートメントによって削除されたデータベースとそのデータを復元します。 | 
FLASHBACK TABLE | DROPまたはTRUNCATE操作によって削除されたテーブルとデータを復元します。 | 
RECOVER TABLE | 削除されたテーブルとその上のデータを回復します。 | 
RESTORE | バックアップからデータベースを復元します。 | 
SHOW BACKUPS | バックアップ タスクを表示します。 | 
SHOW RESTORES | 復元タスクを表示します。 | 
配置ポリシー
| SQL文 | 説明 | 
|---|---|
ALTER PLACEMENT POLICY | 配置ポリシーを変更します。 | 
ALTER RANGE | 配置ポリシーの範囲を変更します。 | 
CREATE PLACEMENT POLICY | 新しい配置ポリシーを作成します。 | 
DROP PLACEMENT POLICY | 既存の配置ポリシーを削除します。 | 
SHOW CREATE PLACEMENT POLICY | 配置ポリシーのCREATEステートメントを表示します。 | 
SHOW PLACEMENT FOR | 特定のテーブルの配置ルールを表示します。 | 
SHOW PLACEMENT LABELS | 使用可能な配置ラベルを表示します。 | 
SHOW PLACEMENT | 配置ルールを表示します。 | 
リソースグループ
| SQL文 | 説明 | 
|---|---|
ALTER RESOURCE GROUP | リソース グループを変更します。 | 
CALIBRATE RESOURCE | 現在のクラスターのリクエストユニット(RU)容量を推定して出力します。 | 
CREATE RESOURCE GROUP | 新しいリソース グループを作成します。 | 
DROP RESOURCE GROUP | リソース グループを削除します。 | 
QUERY WATCH | ランナウェイ クエリ監視リストを管理します。 | 
SET RESOURCE GROUP | リソース グループを設定します。 | 
SHOW CREATE RESOURCE GROUP | リソース グループのCREATEステートメントを表示します。 | 
ユーティリティステートメント
| SQL文 | 説明 | 
|---|---|
DESC | DESCRIBE別名で、テーブルの構造を表示します。 | 
DESCRIBE | テーブルの構造を表示します。 | 
DO | 式を実行しますが、結果は返しません。 | 
EXPLAIN | クエリの実行プランを表示します。 | 
TRACE | クエリ実行に関する詳細情報を提供します。 | 
USE | 現在のデータベースを設定します。 | 
ステートメントを表示
| SQL文 | 説明 | 
|---|---|
SHOW BUILTINS | 組み込み関数を一覧表示します。 | 
SHOW CHARACTER SET | 文字セットを一覧表示します。 | 
SHOW COLLATIONS | 照合を一覧表示します。 | 
SHOW ERRORS | 以前実行されたステートメントのエラーを表示します。 | 
SHOW STATUS | MySQLとの互換性に含まれています。TiDB は、ほとんどのメトリックに対してSHOW STATUSではなく、集中メトリック収集にプロメテウスとグラファナ使用します。 | 
SHOW VARIABLES | システム変数を表示します。 | 
SHOW WARNINGS | 以前実行されたステートメントからの警告とメモを表示します。 | 
インスタンス管理
| SQL文 | 説明 | 
|---|---|
ALTER INSTANCE | インスタンスを変更します。 | 
FLUSH STATUS | MySQLとの互換性に含まれています。TiDB は、ほとんどのメトリックに対してSHOW STATUSではなく、集中メトリック収集にプロメテウスとグラファナ使用します。 | 
KILL | 現在の TiDB クラスター内の任意の TiDB インスタンスの接続を切断します。 | 
SHOW CONFIG | TiDB のさまざまなコンポーネントの構成を表示します。 | 
SHOW ENGINES | 使用可能なstorageエンジンを表示します。 | 
SHOW PLUGINS | インストールされているプラグインを表示します。 | 
SHOW PROCESSLIST | 同じ TiDBサーバーに接続されている現在のセッションを表示します。 | 
SHOW PROFILES | MySQLとの互換性に含まれています。現在は空の結果のみが返されます。 | 
SHUTDOWN | TiDB クラスター全体ではなく、クライアントに接続された TiDB インスタンスを停止します。 | 
ロックステートメント
| SQL文 | 説明 | 
|---|---|
LOCK STATS | テーブルまたはパーティションの統計をロックします。 | 
LOCK TABLES | 現在のセッションのテーブルをロックします。 | 
UNLOCK STATS | テーブルまたはパーティションの統計をロック解除します。 | 
UNLOCK TABLES | テーブルのロックを解除します。 | 
アカウント管理 / データ制御言語
| SQL文 | 説明 | 
|---|---|
ALTER USER | ユーザーを変更します。 | 
CREATE ROLE | ロールを作成します。 | 
CREATE USER | 新しいユーザーを作成します。 | 
DROP ROLE | 既存のロールを削除します。 | 
DROP USER | 既存のユーザーを削除します。 | 
FLUSH PRIVILEGES | 権限テーブルから権限のメモリ内コピーを再ロードします。 | 
GRANT <privileges> | 権限を付与します。 | 
GRANT <role> | ロールを付与します。 | 
RENAME USER | 既存のユーザーの名前を変更します。 | 
REVOKE <privileges> | 権限を取り消します。 | 
REVOKE <role> | ロールを取り消します。 | 
SET DEFAULT ROLE | デフォルトのロールを設定します。 | 
SET PASSWORD | パスワードを変更します。 | 
SET ROLE | 現在のセッションでロールを有効にします。 | 
SHOW CREATE USER | ユーザーのCREATEステートメントを表示します。 | 
SHOW GRANTS | ユーザーに関連付けられた権限を表示します。 | 
SHOW PRIVILEGES | 利用可能な権限を表示します。 | 
TiCDC
| SQL文 | 説明 | 
|---|---|
| [`ADMIN [SET | SHOW | 
SHOW MASTER STATUS | クラスター内の最新の TSO を表示します。 | 
統計と計画管理
| SQL文 | 説明 | 
|---|---|
ANALYZE TABLE | テーブルに関する統計を収集します。 | 
CREATE BINDING | SQL ステートメントの実行プラン バインディングを作成します。 | 
DROP BINDING | SQL ステートメントから実行プラン バインディングを削除します。 | 
DROP STATS | テーブルから統計を削除します。 | 
EXPLAIN ANALYZE | EXPLAINと同様に動作しますが、ステートメントを実行するという大きな違いがあります。 | 
LOAD STATS | 統計を TiDB に読み込みます。 | 
SHOW ANALYZE STATUS | 統計収集タスクを表示します。 | 
SHOW BINDINGS | 作成された SQL バインディングを表示します。 | 
SHOW COLUMN_STATS_USAGE | 列統計の最終使用時間と収集時間を表示します。 | 
SHOW STATS_BUCKETS | 統計にバケット情報を表示します。 | 
SHOW STATS_HEALTHY | 統計がどの程度正確であると考えられるかの推定値を示します。 | 
SHOW STATS_HISTOGRAMS | 統計のヒストグラム情報を表示します。 | 
SHOW STATS_LOCKED | 統計がロックされているテーブルを表示します。 | 
SHOW STATS_META | テーブル内の行数と、そのテーブル内で変更された行数を表示します。 | 
SHOW STATS_TOPN | 統計の上位 N 情報を表示します。 |