SQL振り返り【INSERT,UPDATE,DELETE】

どうも。てちこまです。
前回に引き続きSQLの振り返りで詰まったところ忘れていたところをまとめていきたいと思います。

INSERT(データ挿入)

列名は省略も可能ですが、テーブル定義が変わったり格納する際に列順序などの間違いにつながるのでやめたほうがいいらしいです。

値を指定しない場合テーブル定義で設定したデフォルト値が入る。未設定の場合NULLが入る。

INSERTでNULLやデフォルト値を明示的に設定

既存のテーブルから他テーブルにコピー、挿入する

この場合AとBの列の数とデータ型が一致している必要がある。
列名は一致していなくていい。

UPDATE (データ更新)

そのままなんですけど久しぶりに書いてみたらINSERTと構文ごっちゃになってました。

更新対象の列がなくてもエラーにはならない。
WHERE句がないとすべての行が更新される。

DELETE(データ削除)

WHEREの指定がないと全行削除になる。
削除対象行がなくてもエラーにはならない。

おまけ

バルクINSERT

複数行のINSERTを一気に行う場合に利用。VALUES句のみ増やしていくスタイル。

まとめ

SELECTの範囲がちゃんと分かっていれば基本的には問題ないですね。

資格の話だとOracleのSQL12cBronzeは昔とったんですけどこの辺の知識だけで受かると思います。
【追記】
制約もテスト範囲だったの思い出しました。

結合と条件式が若干複雑だったかな。

5月中なら2回目の受験料が無料なんで興味ある人は受けてみてもいいかもしれません。このキャンペーンはたぶん毎年やってます。

てちこま

高卒後3年ニート。 起死回生でコン専入学。 資格とったり、アプリ作ったりしてました。 2020から新米WEBエンジニアになりました。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする