MySQLでカラム内の文言を一括置換できるSQL文

スポンサードリンク

こんにちは!ぐちです。

手作業はやめましょう

少し前に開発中のテストデータを変更する際にAAAという文言を全てBBBに変更するという作業がありました。チームメンバーの若い子に作業をお願いしたのですがなんと!手作業で1レコードずつ修正しようとしていました。思わず「何分かかる?w」と聞いちゃいました。10分ぐらいです!と元気良く返事をしてくれたのはいいのですが効率良くやろうねってことで置換するSQL文を教えてあげました。
※ちなみに10分で終わるような量ではなかったんですけどね。

できないことができるようになる

SQLにも便利な関数が用意されていることを説明し「置換する」ってことは単語としてはReplaceの可能性が高いってことも教えて席の横につきながら調べてもらいました。で、見つけたのがこちら。

UPDATE [テーブル名] SET [カラム名] = REPLACE ([カラム名],"対象文字列","変換後文字列");

該当するテーブル名やカラム名を書き換えてもらい実行すると・・・

うおぉぉーーーーーーー!!!すげー!!!すごいですね!できました!

こんなに喜んで笑顔になってくれたら教えがいがあるってもんです。笑

うまくやろうね

今回は置換するのが目的だったのでReplaceがキーワードになるって説明しました。他にも分割ならSplitとか”あたり”をつけて調べる工夫が必要だよと教えました。コーディングが早いとか知識があるというアドバンテージがないなら調べ方を効率良くするだけでも生産性は高められるということを伝えました。
将来の後輩に上手く説明してくれるでしょうか。