「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。目下、データ分析・語学に力点を置いています。今月(2022年10月)からは多忙につき、日々の投稿数を減らします。

MENU

データベースとSQL(08/20)

はじめに

 データ分析を行う場合、データの管理運用、蓄積も重要な論点となる。そのためにはSQLやデータベースの知識が求められる。そこでまずは

を基にSQLの勉強をしていく。

6. データの更新

6.3 データの更新

  • テーブルのデータを更新するには\mathrm{UPDATE}文を用いる。
  • 一部の行を更新するときは\mathrm{WHERE}句で対象行の条件を書く。\mathrm{WHERE}句で更新対象行を制限した\mathrm{UPDATE}文を探索型\mathrm{UPDATE}という。
  • 複数の列を同時に更新するには、\mathrm{UPDATE}文の\mathrm{SET}句に更新対象の複数の列をカンマ区切りで並べる。
6.3.1 UPDATE

 テーブルに\mathrm{INSERT}文でデータを登録した後に登録済みデータを修正したい場合、そのデータを削除して新しいデータを登録するのではなく、\mathrm{UPDATE}文を用いる。

UPDATE <テーブル名>
  SET <列名> = <式>

更新対象となる列と更新後の値は[tex\mathrm{SET}]句に記述する。\mathrm{NULL}を与えたところも指定値に変わる。

6.3.2 探索型UPDATE

 前項での書き方では対象列の全行が修正される。特定の行を更新したい場合は、\mathrm{WHERE}句で対象を指定する。

UPDATE <テーブル名>
  SET <列名> = <式>
 WHERE <条件>

\mathrm{SET}句の右辺には単純な値のみならず列を含む式を記述することも可能である。

6.3.3 NULLクリア

 特定の行の値を\mathrm{NULL}にすることもでき、これを特に\mathrm{NULL}クリアという。ただし\mathrm{NOT} \mathrm{NULL}制約や主キー制約のついていない列でのみ可能で、それ以外ではエラーになる。

6.3.4 複数列の更新

 \mathrm{SET}文に複数の列に対して条件を設定すれば、一つの\mathrm{UPDATE}文において複数の列を走査することが可能になる。

-- 書き方①
UPDATE <テーブル名>
  SET <列名1> = <式1>,
         <列名2> = <式2>
 WHERE <条件>
-- 書き方②
UPDATE <テーブル名>
  SET (<列名1>,<列名2>) = (<式1>,<式2>)
 WHERE <条件>
プライバシーポリシー お問い合わせ