UPDATE (SQL)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
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';
テーブル"T"に対して、列"C2"の値が a の場合に限り、列"C1"の値の頭に文字列"text"を結合する。
UPDATE T SET C1 = CONCAT( 'text' , C1 ) WHERE C2 = 'a';
サブクエリ(副次問い合わせ)の例: テーブル"T1"の列"C2"の値が、テーブル"T2"の列"C4"の値が0であるレコードの列"C3"の値のリストに含まれるレコードに限り、列"C1"に 2 をセットする。
UPDATE T1 SET C1 = 2 WHERE C2 in (SELECT C3 FROM T2 WHERE C4 = 0);
1つのUPDATEステートメントで複数列を更新することも可能である。
UPDATE test SET C1 = 1, C2 = 2;
カテゴリ: コンピュータ関連のスタブ項目 | データベース | SQL