
SQLのINSERTとは?INSERTを活用してデータを追加する方法
データベースにデータを登録する時に使用するSQL文は、「INSERT」になります。
ここでは、INSERT文の基本的な使い方について説明していきます。
この記事を作成した環境は下記になります。
- データベース:MySQL8.1.0
- SQL実行ツール:A5:SQL Mk-2 (ver2.18.3)
CREATE TABLE `insert_sample` ( `商品番号` varchar(10) NOT NULL, `商品名` varchar(50) NOT NULL, `在庫数` int DEFAULT NULL, PRIMARY KEY (`商品番号`,`商品名`);
目次
1.INSERT文について
1-1.INSERT文とは
INSERT文とは、単語の意味通り、テーブルにデータを「入れる」命令文です。
1-2.INSERTの構文
INSERT INTO [テーブル名] (カラム名1, カラム名2, ...) VALUES (値1, 値2, ...);
2.INSERTの使用例
2-1.基本的な使用例
実行前のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
下記のINSERT文を使用して、データを1件分追加します。
INSERT INTO Insert_Sample (商品番号, 商品名, 在庫数) VALUES ("0000010002", "ほうじ茶",150 );
★Insert後のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
0000010002 | ほうじ茶 | 150 |
2-2.複数のデータを追加
実行前のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
0000010002 | ほうじ茶 | 150 |
INSERT INTO Insert_Sample (商品番号, 商品名, 在庫数) VALUES ("000010003", "玄米茶",75 ), ("000010004", "煎茶",90 );
実行後のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
0000010002 | ほうじ茶 | 150 |
0000010003 | 玄米茶 | 75 |
0000010004 | 煎茶 | 90 |
3.エラーになるINSERT文
INSERT文を実行した時にエラーになる場合があります。
実行するテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
0000010002 | ほうじ茶 | 150 |
0000010003 | 玄米茶 | 75 |
0000010004 | 煎茶 | 90 |
3-1.一意になるデータがすでに存在する
2-1で実行したSQL文を、再度実行します
INSERT INTO Insert_Sample (商品番号, 商品名, 在庫数) VALUES ("0000010002", "ほうじ茶",150 );
発生するエラー
3-2.指定したカラムとVALUESの数が一致していない
INSERT INTO Insert_Sample (商品番号, 商品名) VALUES ("0000010002", "ほうじ茶",150 );
発生するエラー
INSERT INTO Insert_Sample (商品番号, 商品名, 在庫数) VALUES ("0000010002", "ほうじ茶" );
発生するエラー
4.その他の使用例
4-1.カラム名を省略する
実行前のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
INSERT INTO Insert_Sample VALUES ("0000010002", "ほうじ茶",150 );
実行後のテーブル
商品番号 | 商品名 | 在庫数 |
0000010001 | 緑茶 | 100 |
0000010002 | ほうじ茶 | 150 |
5.最後に
INSERT文は上記で解説した以外に、別のテーブルからカラム値を使用したりすることもできますが、ここでは基本的な内容を紹介しました。色々試してみてください。
コメント