SQL

DBデータの一括置換

2012年11月02日
データベースに登録しているデータを一気に置換するコマンドはないかと調べてみました。
【replace】関数で実現できるようです。

tableZに
id column1
1 dataA ・・・
2 dataB ・・・
3 dataA ・・・
  ・
  ・
  ・
というデータがあり、【data】を【field】に変更したい場合、
update tableZ set colum1 = replace(colum1, ’data’, ’filed’);
で変更できます。

変更後は
id column1
1 fieldA ・・・
2 fieldB ・・・
3 fieldA ・・・
  ・
  ・
  ・
になります。

使ったことがある気がしますが、忘れてました。

ここまでは何の問題もなかったのですが、updateが処理した件数を取ってみて、驚きました。
ありえない数だったのです。
該当する件数は100件ほどなのに、処理件数は1000件近かったのです。

どうやら処理件数はデータ全件数になるようです。
全ての行に対してreplaceを実行するからでしょう。

ああ、驚いた。
2012年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
先月
来月
カテゴリ
検索
関連サイト
プロフィール
【ネットネーム】
みゅー

キャラクター by ツカエルサイト


【趣味】
・プログラミング
・写真
・楽器演奏
・手芸
・日曜大工
・家の中の不便を便利に
・考える
・自然科学
・猫と戯れる
・ジグソーパズル

【仕事】
・派遣社員でSE・PGやっていました。次の良い仕事がみつからないので、ビジネスへ注力しようと思っています。
・経験言語:VB6、VB.NET、PHP、Perl、JAVA、Oracle、SQLServer、PostgreSQL



【名前】
アン(足)

2014年4月22日生まれ 女の子
あだ名は くノ一
普段は普通にしゃべりますが、興奮すると『ニャ』を連発します

【趣味】
・狩
・ご飯を食べる
・ママのお手伝い

【仕事】
ママのビジネスの看板招き猫
ママの代わりにPC入力
仕事中のママの右腕を温める
ママに心配をかける
いろんな事をしでかしてママを退屈させない

RSSフィード