UPDATEとは?あっぷでーと
UPDATEとは、SQL(データベースを操作するための言語)で、表にすでにある行の値を書き換える命令。「UPDATE 表名 SET 列名 = 新しい値 WHERE 条件」と書き、WHERE(どの行を対象にするかの条件)に合う行だけを書き換える。SET には「給与 = 給与 * 1.1」のように今の値を使った式も書ける。行を追加する INSERT、行を消す DELETE、取り出す SELECT と並ぶデータ操作の基本文。
最終更新:2026-10-10
この語が出る過去問を解く →背景
データベースの値は、在庫数・残高・住所のように時間とともに変わる。行を消して入れ直すのではなく、決まった行の決まった列だけを書き換える手段として用意されている。
具体例
ネット通販で注文が確定したとき、商品表の在庫数を1つ減らす処理は「UPDATE 商品 SET 在庫数 = 在庫数 - 1 WHERE 商品コード = 'A444'」のように書ける。WHERE を付け忘れると、全商品の在庫数が一度に減ってしまう。
試験での引っ掛け
WHERE 句を書かないと表の全行が書き換わる点が狙われる。また、主キー(行を一つに特定する列)の値を UPDATE で書き換えると、別の表の外部キーが参照している場合は参照制約(つながりを壊さない決まり)に反して実行できないことがある。行の追加は INSERT で、UPDATE では行は増えない。
関連用語
出た過去問
出典:令和元年度 秋期 基本情報技術者試験 午前 問29(IPA)
2相ロッキングプロトコルに従ってロックを獲得するトランザクションA、Bを図のように同時実行した場合に、デッドロックが発生しないデータ処理順序はどれか。ここで、r…
正解:①update X ②read W ③update Y ④update Z
要点:デッドロック回避の基本は、資源のロック順序を全体でそろえること
2相ロッキングでは獲得したロックをトランザクション終了まで解放しないため、2つのトランザクションが同じ2件のデータを互いに逆の順序でロックしようとするとデッドロックになる。トランザクションAはW、X、Y、Zの順に処理するので、Bも同じ相対順序でロックを取れば循環待ちは起きない。Wは共有ロックなので双方が同時に保持でき、待ちの原因にはならない点も判断材料になる。
出典:令和8年度 公開問題 基本情報技術者試験 科目A 問7(IPA)
次のSQL文によって定義され,値が格納されている"商品"表に対して,制約違反で実行エラーとなるSQL文はどれか。 〔SQL文〕 CREATE TABLE 商品 …
正解:UPDATE 商品 SET 商品コード = 'A777' WHERE 在庫数 >= 20
要点:主キーは重複不可。複数行を同じ値に更新すると違反
商品コードは主キーなので、値の重複は許されない。在庫数が20以上の行はデジタルカメラ(50)と洗濯機(20)の2行あり、その両方の商品コードを同じ'A777'に更新しようとすると主キーの一意性制約に違反して実行エラーになる。他の3つは重複もNULLも生じないため正常に実行できる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。