SQL4 択難易度 基礎

DELETE FROM users; を実行した結果は?

正答

  1. WHERE が無いのでエラーになる
  2. users の全行が削除される
  3. 最初の 1 行だけ削除される
  4. users 表そのものが削除される

解説

DELETE は WHERE 句を省略すると表の全行を削除する。構文上は正しい文なので警告もエラーも出ず、そのまま実行される。表の定義(列やインデックス)は残るので、表自体が消える DROP TABLE とは異なる。本番で削除する前には、同じ WHERE 条件の SELECT で対象行を確認し、トランザクションの中で実行して件数を見てから COMMIT する。

参考: www.sqlite.org

deletewhere

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ