新規データ(レコード)を複数行追加する書き方~insert~

MySQL

既存のテーブルに新規データ(レコード)を複数行追加する書き方insert文について紹介していきます。

前提条件

商品を管理するテーブルに新商品を追加する

使用するテーブル:productsテーブル

+----+-----------------+-------+
| id | name            | price |
+----+-----------------+-------+
|  1 | ドックフード001 |  1000 |
|  2 | ドックフード002 |  2000 |
|  3 | ドックフード003 |  1500 |
| ・ |        ・       |   ・  |
| ・ |        ・       |   ・  |
|  8 | ドックフード008 |  6500 |
+----+-----------------+-------+
8 rows in set (0.001 sec)

条件:

  • id1~8の商品が登録されているテーブルにid8,9の商品と追加する
注意!

今回、紹介する記述方法を使用できるのはMySQL、PosgreSQL、SQL Server、DB2のみ
※Oracleでは利用できません

データ(レコード)を複数行追加する

構文

insert into テーブル名(列名1,列名2,列名3...) 
values 
(値1,値2,値3...),
(値1,値2,値3...),
(値1,値2,値3...);

コードの見方

青文字・・・省略できない決まり文句
紫文字・・・コメント
白文字・・・利用者の任意で入力する文字列

テーブル名:データを追加するテーブルを指定

列名:指定したテーブルのカラム名を記述する

値:各カラムに入れる値を記述する

複数行データを追加したい場合には、値をレコードごとにカンマで区切って記述する。

Point!
  • カラム名と値の数は必ず一致させること
  • 入力する値はカラム名の順番に合わせること
  • 文字列はシングルクォーテーションで囲うこと
  • レコードの間にはカンマを記述する

使用するSQL文

insert into products(id,name,price) 
values 
(9,'ドックフード009',3000),
(10,'ドックフード010',5000);

テーブル名には商品一覧のproductsテーブルを指定

カラム名にはproductsテーブルのカラム(id,name,price)を指定

にはカラム名の順番で任意の値を指定

今回はデータ(レコード)を2行追加するので二つ記述しています。
レコードの間にはカンマを記述する。

上記SQLを入力してからテーブル情報を再度確認する

出力結果

+----+-----------------+-------+
| id | name            | price |
+----+-----------------+-------+
|  1 | ドックフード001 |  1000 |
|  2 | ドックフード002 |  2000 |
|  3 | ドックフード003 |  1500 |
| ・ |        ・       |   ・  |
| ・ |        ・       |   ・  |
| ・ |        ・       |   ・  |
|  9 | ドックフード009 |  3000 |
| 10 | ドックフード010 |  5000 |
+----+-----------------+-------+
10 rows in set (0.000 sec)

9行目と10行目にデータが新しく追加された

タイトルとURLをコピーしました