SQL の 基本 INSERT で新たなデータを追加しよう!
SQL を使えば、データベースのデータの更新も可能です。データの挿入 INSERT はデータベースの更新の 基本 文となりますので、ぜひ覚えていきましょう。INSERTは、既存データを編集することなく、追加するものですので、一番使われるものではないでしょうか?
INSERT INTO ~ VALUES (挿入)
カラム指定有り
INSERT INTO テーブルA(カラム1,カラム2) VALUES(値1,値2);
意味:Aというテーブルに、カラム1に値1,カラム2に値2をセットし、挿入する。
テーブル名を指定した後の値は、項目であり、項目順に値をセットする形です。
なお、テーブルのカラム順(並び)と指定した順番は関係しないのですが、指定したカラムと値の順番(並び)がリンクしているので、注意が必要です。
例えば、前述のサンプルと下記サンプルは同じ結果が得られます。
INSERT INTO テーブルA(カラム2,カラム1) VALUES(値2,値1);
カラム指定無し
テーブルのカラムを指定しない方法もあります。
ただ、テーブルのカラムの順番(並び)と合わせる必要がありますので、どちらを使うかは適宜判断する必要がありますね。
INSERT INTO テーブルA VALUES(値1,値2);
上記結果では、テーブルの一つ目のカラムに値1が、二つ目のカラムに値2が設定され挿入されます。
INSERT INTO テーブルA VALUES(値2,値1);
上記結果では、テーブルの一つ目のカラムに値2が、二つ目のカラムに値1が設定され挿入されます。
結果が異なることに注意が必要です。
注意点
そのほかにも、注意する点があります。以下に列挙します。
①数値以外は、シングルクォーテーションで挟む
なお、数値以外の値をセットする場合は、シングルクォーテーション( ‘ )で挟む必要がああります。
シングルクォーテーションで挟めば、数値も文字列の値として、テーブルに挿入されます。
②デフォルト値の指定
テーブルの定義されたカラムと、挿入時のカラム・値の数が一致しなかった場合、どうなるのでしょう。
特に指定しなければ、NULL値が入りますが、テーブル作成時に指定することで、デフォルト値をコントロールすることが出来ます。
CREATE TABLE テーブルA( ~,~,カラム3 integer DEFAULT 0);
テーブルを定義する際に、項目とデータ型を指定するのですが、その際に DEFAULT を指定すると、数値や値をDEFAULTをに何を指定するか定義できます。
定義時に設定されていれば、INSERT文の際にDEFAULT値を設定することが出来ます。
なお、テーブルの作成については以下参考ください。
[https://way2se.ringtrees.com/sql-006/]
データ更新については、挿入以外にも更新や削除がありますが、それらについては、以下参考にしてください。
[https://way2se.ringtrees.com/sql-008/]
[https://way2se.ringtrees.com/sql-009/]
その他、SQL構文は以下にて整理分類しています。
[https://way2se.ringtrees.com/sql-001/]