コンテンツにスキップ

UPDATE (SQL)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。125.203.124.128 (会話) による 2009年6月10日 (水) 07:11個人設定で未設定ならUTC)時点の版 (サンプル)であり、現在の版とは大きく異なる場合があります。

UPDATEステートメントは、1つもしくは複数のレコードのデータを更新する、SQLにおけるデータ操作言語 (DML)ステートメントの1つである。すべてのレコードを一括更新するかまたは、条件式を満たす一部のレコードだけを更新することができる。

文法

 UPDATE テーブル名 SET 列名1 = 値1 [,列名2 = 値2...] [WHERE 条件式];

 正常に更新が行われるためには、ユーザはそのテーブルまたは項目に対する更新権限を持っている必要がある。 また、更新後の値がPRIMARY KEY制約一意性制約CHECK制約NOT NULL制約などに違反しないことが必要である。

サンプル

テーブル"T"に対して、列"C2"の値が a の場合に限り、列"C1"に 1 をセットする。

UPDATE T SET C1 = 1 WHERE C2 = 'a';テーブル"T"に対し列"C2"の値が a の場合に限り、列"C1"の値に1を加算する。
UPDATE T SET C1 = C1 + 1 WHERE C2 = 'a';

サブクエリ(副次問い合わせ)の例: テーブル"T1"の列"C2"の値が、テーブル"T2"の列"C4"の値が0であるレコードの列"C3"の値のリストに含まれに限り、列"C1"に 2 をセットする。

UPDATE T1 
  SET 
      C1 = 2    
  WHERE C2 in (T C3
               FROM   T2
              WHERE C4 = 0)つのUPDATEステートで複数列を更新することも可能である
UPDE test SET C1 = 1, C2 

{{Compr-stub}

UPDATE