既存のテーブルにカラム名を省略して新規データ(レコード)を一行追加する書き方insert文について紹介していきます。
前提条件
商品を管理するテーブルに新商品を追加する
使用するテーブル:productsテーブル
+----+-----------------+-------+
| id | name | price |
+----+-----------------+-------+
| 1 | ドックフード001 | 1000 |
| 2 | ドックフード002 | 2000 |
| 3 | ドックフード003 | 1500 |
| 4 | ドックフード004 | 1800 |
| 5 | ドックフード005 | 2500 |
| 6 | ドックフード006 | 1500 |
| 7 | ドックフード007 | 4000 |
+----+-----------------+-------+
7 rows in set (0.000 sec)
条件:
- id1~7の商品が登録されているテーブルにid8の商品を追加する
カラム名を指定して記述するinsert文がわからない場合には下記を参照
カラム名を省略してデータ(レコード)を一行追加する
構文
insert into テーブル名 values (値1,値2,値3...);
コードの見方
テーブル名:データを追加するテーブルを指定
値:指定したテーブル全てのカラムに入れる値を記述する
Point!
- 省略して記述する場合にはすべてのカラムに値を入れる必要がある
- 入力する値はカラム名の順番に合わせること
- 文字列はシングルクォーテーションで囲うこと
使用するSQL文
insert into products values (8,'ドックフード008',6500);
テーブル名には商品一覧のproductsテーブルを指定
値にはproductsテーブルのカラム(id,name,price)に入力するデータをすべて指定
上記SQLを入力してからテーブル情報を再度確認する
出力結果
+----+-----------------+-------+
| id | name | price |
+----+-----------------+-------+
| 1 | ドックフード001 | 1000 |
| 2 | ドックフード002 | 2000 |
| 3 | ドックフード003 | 1500 |
| 4 | ドックフード004 | 1800 |
| 5 | ドックフード005 | 2500 |
| 6 | ドックフード006 | 1500 |
| 7 | ドックフード007 | 4000 |
| 8 | ドックフード008 | 6500 |
+----+-----------------+-------+
8 rows in set (0.001 sec)
8行目にデータが新しく追加された
注意!
カラム名を省略した記述方法はデータの入力ミスなどを発生させる恐れがあるため、多様はあまりしない方が良い。後からSQL文を確認する際にも見にくくなるので注意。