Home > PHP > MySQLだけで文字列を一括置換する

MySQLだけで文字列を一括置換する

  • Posted by: zaru
  • 2007年6月 1日 19:38
  • PHP

MySQLで特定の文字列を全レコード一気に置換する方法。

今まで、PHPやPerlでレコードを取得して、スクリプトで置換して UPDATE していたけど、実はMySQLだけで一気に置換ができることが判明。

文字列置換関数

MySQLに限らずDBには色々な便利関数があるが、あんまり活用していなかった。ので、こんな基本的な関数も知らなかった。というか想像も付かなかった。バカだ。

REPLACE(str,from_str,to_str)

文字列 str に含まれる文字列 from_str をすべて文字列 to_str に置換した文字列を返す関数。

REPLACE()を使って一気に置換してみた

たったの1クエリで。

UPDATE `text_replace` SET text1=REPLACE (text1,"置換したい","されちった");

カラムtext1の中に「置換したい」という文字列があった場合、「されちった」に置き換えて UPDATE する。

マルチバイトにも対応しているので日本語環境でも安心。今度からはMySQLの関数も活用してみよう。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://blog.tofu-kun.org/mt-tb.cgi/328
Listed below are links to weblogs that reference
MySQLだけで文字列を一括置換する from Webプログラマー+WebデザイナーなZARU日記

Home > PHP > MySQLだけで文字列を一括置換する

Profile

zaru

Name : zaru

Webプログラマ+Webデザイナで、Webディレクタやってます。Twitterやっているので、ぜひフォローしてやってくださいませ。Twitter - zaru。また、そのほかのプロフィールについては、iddy - zaruを見てください。

Search
Feeds
Others

Return to page top