TiDB の CRUD SQL
このドキュメントでは、TiDB の CURD SQL の使用方法を簡単に紹介します。
始める前に
TiDB クラスターに接続していることを確認してください。そうでない場合は、 TiDB Cloud(Serverless Tier) で TiDBクラスタを構築するを参照してServerless Tierクラスターを作成してください。
TiDB で SQL を調べる
ノート:
このドキュメントでは、 TiDB で SQL を調べる参照して簡略化しています。詳細については、 TiDB で SQL を調べるを参照してください。
TiDB は MySQL と互換性があり、ほとんどの場合、MySQL ステートメントを直接使用できます。サポートされていない機能については、 MySQL との互換性を参照してください。
SQL を実験し、MySQL クエリと TiDB の互換性をテストするには、TiDB Playground ことができます。最初に TiDB クラスターをデプロイしてから、その中で SQL ステートメントを実行することもできます。
このページでは、DDL、DML、CRUD 操作などの基本的なTiDB SQLステートメントについて説明します。 TiDB ステートメントの完全なリストについては、 TiDB SQL構文図を参照してください。
カテゴリー
SQL は、その関数によって次の 4 つのタイプに分けられます。
DDL (データ定義言語) : データベース、テーブル、ビュー、インデックスなどのデータベース オブジェクトを定義するために使用されます。
DML (Data Manipulation Language) : アプリケーション関連のレコードを操作するために使用されます。
DQL (Data Query Language) : 条件付きフィルタリングの後にレコードを照会するために使用されます。
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 は、テーブルまたは複数のテーブルから目的のデータ行を取得するために使用されます。
テーブル内のデータを表示するには、 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;