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 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 および TiDBBinlog
SQL文 | 説明 |
---|---|
[`ADMIN [SET | SHOW |
CHANGE DRAINER | クラスター内のDrainerのステータス情報を変更します。 |
CHANGE PUMP | クラスター内のPumpのステータス情報を変更します。 |
SHOW DRAINER STATUS | クラスター内のすべてのDrainerノードのステータスを表示します。 |
SHOW MASTER STATUS | クラスター内の最新の TSO を表示します。 |
SHOW PUMP STATUS | クラスター内のすべてのPumpノードのステータス情報を表示します。 |
統計と計画管理
SQL文 | 説明 |
---|---|
ANALYZE TABLE | テーブルに関する統計を収集します。 |
CREATE BINDING | SQL ステートメントの実行プラン バインディングを作成します。 |
DROP BINDING | SQL ステートメントから実行プラン バインディングを削除します。 |
DROP STATS | テーブルから統計を削除します。 |
EXPLAIN ANALYZE | EXPLAIN と同様に動作しますが、ステートメントを実行するという大きな違いがあります。 |
LOAD STATS | 統計を TiDB に読み込みます。 |
SHOW ANALYZE STATUS | 統計収集タスクを表示します。 |
SHOW BINDINGS | 作成された SQL バインディングを表示します。 |
SHOW STATS_HEALTHY | 統計がどの程度正確であると考えられるかの推定値を示します。 |
SHOW STATS_HISTOGRAMS | 統計のヒストグラム情報を表示します。 |
SHOW STATS_LOCKED | 統計がロックされているテーブルを表示します。 |
SHOW STATS_META | テーブル内の行数と、そのテーブル内で変更された行数を表示します。 |