TiDB の CRUD SQL
このドキュメントでは、TiDB の CURD SQL の使用方法を簡単に紹介します。
始める前に
TiDB クラスターに接続していることを確認してください。接続していない場合は、 TiDB サーバーレスクラスタを構築するを参照して TiDB Serverless クラスターを作成してください。
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 (データ制御言語) : アクセス権限とセキュリティ レベルを定義するために使用されます。
以下では主に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;