【SQL】 INSERT(データを挿入する)の使い方
INSERT : 書式
書式1 INSERT INTO <表名> [(列名1, 列名2...)] VALUES (値1, 値2...)
書式2 INSERT INTO <表名> SELECT文
![](https://i0.wp.com/ichilv.com/wp-content/uploads/2020/04/ブライト.png?w=1256&ssl=1)
この2つの書式は、実践でよく使われるので、マスターするんだ!
INSERT : 解説
表にデータを挿入するのが、INSERT文です。列と値を指定して挿入するときには、列と値の個数、対応する列と値のデータ型が一致している必要があります。列に空の値をいれたいときには「NULL」と記述します。
INSERT : 使用例(書式1に対応)
次の例は「商品コード」列、「商品名」列、「商品単価」列を持った「商品マスタ」表にデータを挿入しています。
SQL文
INSERT INTO 商品マスタ (商品コード, 商品名, 商品単価)
VALUES (1357, 'カセットコンロ', 3980);
INSERT INTO 商品マスタ (商品コード, 商品名, 商品単価)
VALUES (1357, 'カセットコンロ', 3980);
上のSQL文では、行のすべての列に値を入れているので、次のように表名の後の列名の記述を省略しても構いません。
SQL文
INSERT INTO 商品マスタ VALUES (1357, 'カセットコンロ', 3980);
INSERT INTO 商品マスタ VALUES (1357, 'カセットコンロ', 3980);
![](https://i0.wp.com/ichilv.com/wp-content/uploads/2020/04/セイラR.jpg?w=1256&ssl=1)
列名を省略する記述方法については、表が変更になった場合、不具合の原因になりますので、実践では推奨していません。
INSERT : 使用例(書式2に対応)
次のように記述すると、「商品マスタ」表へのSELECT文の問合せ結果を、そのまま「高額商品一覧」表に挿入することができます。
SQL文
INSERT INTO 高額商品一覧
SELECT 商品コード, 商品名, 商品単価 FROM 商品マスタ
WHERE 商品単価 > 100000;
INSERT INTO 高額商品一覧
SELECT 商品コード, 商品名, 商品単価 FROM 商品マスタ
WHERE 商品単価 > 100000;
この場合、SELECT文により返される結果の列の並びと、挿入する表の列の個数とデータ型が一致している必要があります。
![](https://i0.wp.com/ichilv.com/wp-content/uploads/2020/04/ミライR.jpg?w=1256&ssl=1)
INSERT文の中のSELECT文で、アスタリスクは使わないようにしましょう。意図しないエラーの発生原因になりやすいためです。
関連リンク
![](https://i0.wp.com/ichilv.com/wp-content/uploads/2020/02/novelo130100013.jpg?resize=160%2C90&ssl=1)
【SQLの基礎知識⑯】 データの操作(insert・update・delete)
この章では、INSERT文、UPDATE文、DELETE文の基礎を習得できます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
次の章へ進む
![](https://i0.wp.com/ichilv.com/wp-content/uploads/2020/05/SQL-update.jpg?resize=160%2C90&ssl=1)
【SQL】 UPDATE(データを更新する)の使い方
UPDATE文は、表内のデータを更新するときに使います。UPDATEキーワードの後ろに更新対象の表名を記述し、SETキーワードの後ろにデータを更新する列名と更新する値を指定します。指定は「,」(カンマ)で区切ることで、複数の列の値を更新することが可能です。
SQLリファレンスTOPページ
![](https://ichilv.com/wp-content/uploads/2020/03/images-4-1.jpg)
SQLリファレンス > 言語
いちれべS.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。