Previous: 既にあるデータを更新する update
Up: 既にあるデータを更新する update
Previous Page: 既にあるデータを更新する update

updateの一般形

updateの一般的な形は、次のようなものである。

update  テーブル名
	set     項目名 = 式 [ , 項目名 = 式 , .... ]
      [ where   更新条件 ]

今、次のような内容を持つ、「利用者台帳稚内編」というテーブルがあるとしよう。

select * 
	from 利用者台帳稚内編

    コード 姓 名 電話番号 郵便 住所 -------- ------ -------- -------------- ----- ---------------------- 999999 丸山 不二夫 0162-33-8177 097 稚内市富岡5-9-1 999998 雪田 修一 null null 稚内市富岡2-3-6 999997 null 龍男 null 097 null 999996 北星 null null null 稚内市若葉台 999995 姫宮 利融 null null null

このテーブルをupdateを用いて更新してみよう。

例 76: where句無しのupdate

update 利用者台帳稚内編
	set    郵便 = "097"

where句無しでupdateを行った時、指定された項目はテーブル中のすべての行で、更新 される。この例では、テーブルの内容は、次の様に更新される。項目「郵便」の所に すべて'097'がいれられていることに、注目して欲しい。

select * 
	from 利用者台帳稚内編

    コード 姓 名 電話番号 郵便 住所 -------- ------ -------- -------------- ----- ---------------------- 999999 丸山 不二夫 0162-33-8177 097 稚内市富岡5-9-1 999998 雪田 修一 null 097 稚内市富岡2-3-6 999997 null 龍男 null 097 null 999996 北星 null null 097 稚内市若葉台 999995 姫宮 利融 null 097 null

例 76: where 句で更新する行を指定

update 利用者台帳稚内編
	set    電話番号 = "0162-32-2360"
	where  コード = "999998"

この時、テーブルの内容は、where句で指定された行の、指定された項目だけが更新さ れて、次のように変わる。

select * 
	from 利用者台帳稚内編

    コード 姓 名 電話番号 郵便 住所 -------- ------ -------- -------------- ----- ---------------------- 999999 丸山 不二夫 0162-33-8177 097 稚内市富岡5-9-1 999998 雪田 修一 0162-32-2360 097 稚内市富岡2-3-6 999997 null 龍男 null 097 null 999996 北星 null null 097 稚内市若葉台 999995 姫宮 利融 null 097 null

set句には、次のように複数の項目を指定することができる。

例 77: set句に複数の項目を指定

update 利用者台帳稚内編
	set    姓 = "植田",電話番号 = "0162-32-1234",住所 = "稚内市富岡1-2-3"
	where  コード = "999997"

update 利用者台帳稚内編 set 電話番号 = "0162-34-2340",住所 = "稚内市富岡2-3-4" where コード = "999995"

こうした時、テーブルの内容は次のように変わる。

select * 
	from 利用者台帳稚内編

    コード 姓 名 電話番号 郵便 住所 -------- ------ -------- -------------- ----- ---------------------- 999999 丸山 不二夫 0162-33-8177 097 稚内市富岡5-9-1 999998 雪田 修一 0162-32-2360 097 稚内市富岡2-3-6 999997 植田 龍男 0162-32-1234 097 稚内市富岡1-2-3 999996 北星 null null 097 稚内市若葉台 999995 姫宮 利融 0162-34-2340 097 稚内市富岡2-3-4

where句に、さまざまな更新条件を置くことが出来る。基本的には、既に見たselectの where句の使い方と同じであるので、内部にselect文を含むような、複雑な更新条件を 考えることが出来る。ここでは、すこし単純な更新条件を持つupdateの例を見てみよ う。

例 78: where 句の例

update  利用者台帳稚内編
	set     郵便 = "098-45"
	where   住所 like "稚内市サラキトマナイ%"

update 利用者台帳稚内編 set 郵便 = "098-66" where 住所 like "稚内市ナイポポチ%"

ここでは、いくつかの住所の郵便番号が、更新されている。この命令では、更新条件に 合致する複数行が、更新されることに注意されたい。(もしも、この条件に合致する行 が存在しなければ、行の更新は行われない。)

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST