English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL リファレンスマニュアル

SQL データ挿入(INSERT INTO 文)

このチュートリアルでは、SQLを使用してデータベースのテーブルにレコードを挿入する方法を学びます。

テーブルにデータを挿入しますで、前章で、のデータベースが作成されました。データベースに、personのテーブルに。今や、私たちが新しく作成したデータベースのテーブルにデータを挿入する時が来ました。

INSERT INTO文は、データベースのテーブルに新しい行を挿入するために使用されます。

構文

データをテーブルに挿入する基本的な構文は以下のように示されます:

INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);

ここでは、column1column2、...などはテーブルの列名を示し、value1value2、...などはこれらの列の対応する値を示します。

以下に、personsテーブルにいくつかのレコードを挿入します。

手順1:テーブルの構造を確認します

レコードを追加する前に、テーブルの構造に関する情報を取得するのが良いでしょう。MySQLコマンドラインで以下のコマンドを実行します。これは、人員テーブルに表示される列に関する情報、すなわち列名、データ型、制約などが表示されます。

mysql> DESCRIBE persons;

MySQLおよびOracleデータベースで列情報やテーブルの構造を確認するためのコマンドを使用できます。SQL Serverでは、実際のテーブル名で置き換えます。table_name。DESCRIBE table_name;EXEC sp_columns table_name;

手順2:テーブルにレコードを追加します

以下の文は、personsテーブルに新しい行を挿入します。

INSERT INTO persons (name, birth_date, phone)
VALUES ('Peter Wilson', '1990-07-15', '0711-020361');

idfieldに値を挿入していないことに気づきましたか?なぜなら、テーブルの作成章の内容では、idフィールドがAUTO_INCREMENTフラグが設定されており、MySQLがそのフィールドに値が指定されていない場合に自動的に値を割り当てることを示しています。

注意:非数字値(例えば文字列や日付)は常に引用符で囲まれなければなりませんが、数字値は引用符で囲まれてはなりません。また、文字列が引用符を含む場合、アンダースコア('Let\'s go')を使用してエスケープします。

同様に、別の行を挿入しますpersons表,以下に示されています:

INSERT INTO persons (name, birth_date, phone)
VALUES ('Carrie Simpson', '1995-05-01', '0251-031259');

同様に、personsテーブルに一行を追加する方法:

INSERT INTO persons (name, birth_date, phone)
VALUES ('Victoria Ashworth', '1996-10-17', '0695-346721');

今、以下から人員テーブルからレコードを選択した場合、出力は以下のようになります:

+----+--------------------+------------+-------------+
| id | name               | birth_date | phone       |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson       | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson     | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth  | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

次の章では、以下の方法について学びます。テーブルからレコードを選択する方法について SQL文。