- ベストアンサー
文字列の置換について
MySQLデータベース内の文字列を、別の文字列に書き換えたいんです。 例えば、文字列"http://www.xxx.com" を文字列"http://www.yyy.com"に書き換えます。 SQL文で操作して、一気にデータベースの各テーブルに入った大量の文字列を全部置換させたいんです、そのSQL文どういうふうに書きますか? ご存じの方がいっらしゃいましたら、どうぞお教え下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
更新対象のテーブルは何個ですか? 更新対象の行数は何件くらいですか? SQLでの大量の更新、追加、削除は、システムに大きな負荷を与えます。更新対象が1万件以内程度ならともかく、大量な件数なら、SQLでの操作は避けた方がいいと思います。 ここからは、更新件数が少なく、SQLで行うと仮定して回答します。 URLをVARCHAR等の列に、そのままの形式で格納していると仮定すると、以下のようなUPDATE文を使用します。 UPDATE 表名 SET 列名='http://www.yyy.com' WHERE 列名='http://www.xxx.com' 複数表を更新したいようですが、更新、追加、削除は、基本的には1SQLで1表に対してしか行えません。
その他の回答 (2)
- naochancom
- ベストアンサー率61% (41/67)
こんな感じでしょうか? update TABLE_NAME set FILED1=replace(FIELD1,'http://www.xxx.com','http://www.yyy.com'); これで、全件リプレースします。 たとえば、 FIELD1 --------- http://www.xxx.com -> http://www.yyy.com http://www.xxx.com/index.html -> http://www.yyy.com/index.html
- fire--
- ベストアンサー率49% (146/293)
SQL文でやらないといけませんか? 一番簡単なのは、phpmyadminででもエクスポートして、 そのファイルを編集し、再びインポートで戻す事だと思います。