前回までは select 文によるデータ抽出について解説してきました。
今回はテーブルに新しいデータを登録するための insert 文について解説したいと思います。
SQLを試したい場合は、 こちら からツールのダウンロードをお願いします。
Insert文の書式
Insert 文はテーブルにデータを挿入するための命令です。
Insert文の一般的な書き方
一般的にinsert文は次のように記述します
そのテーブルで定義されている全てのカラム名を列挙し、それと対応させるように値をvalue句に列挙します。
valuesに列記する値において、日付や文字列はシングルクォートで括り、数値はそのなま記述します。
insert into 受注明細(受注日時,伝票番号,品名,数量,金額) values('2023/11/02 11:05:07',60208,'餃子',5,2000)
カラム名を省略する書き方
テーブルに存在するカラム名の順番、個数が、values に羅列した値の順番、個数と一致する場合、カラム名の羅列は省略することが出来ます。
insert into 受注明細 values('2023/11/02 11:05:07',60208,'餃子',5,2000)
特定のカラムのみを指定する書き方
一部のカラムに対して値を指定することも可能で、この場合は値を設定したいカラム名と値だけを記述します。
例えば、2つのカラムにだけ値を設定して挿入したい場合は次の様になります。
注意点としては、テーブルに主キーが設定されている場合、必ず主キーに指定されているカラムと値は記述しておく必要があります。
仮に、受注明細の主キーが伝票番号と品名だった場合、この2つは必ず指定しなければなりません。
insert into 受注明細(伝票番号,品名,数量) values (60208,'餃子',5)
もし「商品コード」が主キーに指定されている場合は、次の様になります。
では、さっそく試してみましょう。
Insert文を試してみる
まず、現状のデータを確認するため、売上データを確認してみます。
次のSQLを実行するか、ツール左のテーブル一覧に表示されている「売上データ」をダブルクリックして下さい。
select * from 売上データ
表示された結果を見ると、999件が抽出されたことが分かります。

次に、2020/06/09 に商品コード A000001 の商品が10個売れたと想定して、売上データに1行 insert してみましょう。
売上データには「売上コード」、「商品コード」、「数量」の3カラムしかないので、カラム名を省略することが可能です。
//カラムを省略しない書き方
insert into 売上データ(売上日,商品コード,数量) values('2020/11/09','A000001',10);
//カラムを省略した書き方
insert into 売上データ values('2020/11/09','A000001',10);
ツールに上記SQLを入力して実行ボタンを押すと、件数が1000になっているのが分かります。
しかし、今 insert した日付(2020/06/09) のデータは表示されていないと思いますので、一覧の「売上日」をクリックしてみて下さい。
この操作を行うと「売上日」で並び替えられるので、1行目に 2020/06/09 のデータが表示されるはずです。

まとめ
今回は insert 文について解説しました。
主キーが登録されている場合、必ず主キーを insert のカラムに入れる必要はありますが、その点だけ注意すれば簡単にデータをinsert できることがお分かりいただけたと思います。
本サイトで公開しているツールを使えば、テーブルを初期値に戻すことが簡単にできますので、気兼ねなく試して頂けると思いますので、どんどん試してください。

コメント