TiDB の CRUD SQL
このドキュメントでは、TiDB の CURD SQL の使用方法を簡単に紹介します。
始める前に
TiDB クラスターに接続していることを確認してください。そうでない場合は、 TiDB サーバーレスクラスタを構築するを参照して TiDB サーバーレス クラスターを作成します。
TiDB で SQL を探索する
ノート:
このドキュメントではTiDB で SQL を探索するを参照し、簡略化しています。詳細については、 TiDB で SQL を探索するを参照してください。
TiDB は MySQL と互換性があり、ほとんどの場合、MySQL ステートメントを直接使用できます。サポートされていない機能については、 MySQLとの互換性を参照してください。
SQL を試して、MySQL クエリと TiDB の互換性をテストするには、 TiDB プレイグラウンドを試してください。最初に TiDB クラスターをデプロイしてから、その中で SQL ステートメントを実行することもできます。
このページでは、DDL、DML、CRUD 操作などの基本的なTiDB SQLステートメントについて説明します。 TiDB ステートメントの完全なリストについては、 TiDB SQL構文図を参照してください。
カテゴリー
SQLは関数に応じて以下の4種類に分類されます。
DDL (データ定義言語) : データベース、テーブル、ビュー、インデックスなどのデータベース オブジェクトを定義するために使用されます。
DML (データ操作言語) : アプリケーション関連のレコードを操作するために使用されます。
DQL (データクエリ言語) : 条件付きフィルタリング後にレコードをクエリするために使用されます。
DCL (Data Control Language) : アクセス権限とセキュリティ レベルを定義するために使用されます。
以下では主にDMLとDQLについて紹介します。 DDL と DCL の詳細については、 TiDB で SQL を探索するまたはTiDB SQL構文の詳細な説明を参照してください。
データ操作言語
一般的な DML 機能は、テーブル レコードの追加、変更、削除です。対応するコマンドはINSERT
、 UPDATE
、およびDELETE
です。
テーブルにデータを挿入するには、 INSERT
ステートメントを使用します。
INSERT INTO person VALUES(1,'tom','20170912');
いくつかのフィールドのデータを含むレコードをテーブルに挿入するには、 INSERT
ステートメントを使用します。
INSERT INTO person(id,name) VALUES('2','bob');
テーブル内のレコードの一部のフィールドを更新するには、 UPDATE
ステートメントを使用します。
UPDATE person SET birthday='20180808' WHERE id=2;
テーブル内のデータを削除するには、 DELETE
ステートメントを使用します。
DELETE FROM person WHERE id=2;
ノート:
WHERE
句をフィルタとして使用しないUPDATE
およびDELETE
ステートメントは、テーブル全体に作用します。
データクエリ言語
DQL は、1 つまたは複数のテーブルから目的のデータ行を取得するために使用されます。
テーブル内のデータを表示するには、 SELECT
ステートメントを使用します。
SELECT * FROM person;
特定の列をクエリするには、 SELECT
キーワードの後に列名を追加します。
SELECT name FROM person;
結果は次のとおりです。
+------+
| name |
+------+
| tom |
+------+
1 rows in set (0.00 sec)
WHERE
句を使用して、条件に一致するすべてのレコードをフィルターし、結果を返します。
SELECT * FROM person WHERE id < 5;