MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでURLレコードの一部を検索して置き換える方法

MySQLでURLなどの文字列レコードの一部を検索して置き換えたい場合、最もシンプルな方法はREPLACE()関数を使うことです。この記事では、実際のサンプルを使いながら、URLの一部を一括置換する手順をわかりやすく解説します。

1. サンプルテーブルの作成

まず、URLを格納するためのテーブルを作成します。

mysql> create table DemoTable2025
-> (
-> URL text
-> );
Query OK, 0 rows affected (0.88 sec)

2. テストデータの挿入

次に、INSERTコマンドを使ってサンプルレコードをいくつか登録します。ここでは、誤って「http=//」と登録されてしまったURLを例にします。

mysql> insert into DemoTable2025 values('http=//www.facebook.com');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable2025 values('http=//www.google.com');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable2025 values('http=//www.gmail.com');
Query OK, 1 row affected (0.26 sec)

3. 現在のレコードを確認

SELECT文でテーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable2025;

実行結果は以下の通りです。

+-------------------------+
| URL |
+-------------------------+
| http=//www.facebook.com |
| http=//www.google.com |
| http=//www.gmail.com |
+-------------------------+
3 rows in set (0.00 sec)

4. REPLACE()関数でURLの一部を置き換える

それでは、URLレコードの一部を検索して置き換えるクエリを実行します。UPDATE文とREPLACE()関数を組み合わせることで、「http=」を「https:」に一括変換できます。

mysql> update DemoTable2025
-> set URL=replace(URL,'http=','https:');
Query OK, 3 rows affected (0.21 sec)
Rows matched: 3 Changed: 3 Warnings: 0

REPLACE()関数の構文は「REPLACE(対象カラム, 置換前の文字列, 置換後の文字列)」となっており、該当するすべてのレコードに対して置換処理が適用されます。

5. 置換後のレコードを確認

もう一度テーブルの内容を確認してみましょう。

mysql> select *from DemoTable2025;

実行結果は以下の通りです。

+--------------------------+
| URL |
+--------------------------+
| https://www.facebook.com |
| https://www.google.com |
| https://www.gmail.com |
+--------------------------+
3 rows in set (0.00 sec)

まとめ

このように、MySQLではUPDATE文とREPLACE()関数を組み合わせるだけで、URLレコードの一部を簡単に一括置換できます。大量のデータに誤った文字列が含まれている場合でも、1つのクエリで効率的に修正できるため、データクレンジングや保守作業で非常に役立ちます。置換前には必ずSELECT文で対象データを確認し、必要に応じてバックアップを取ってから実行することをおすすめします。

  1. C++で文字列の検索と置換を実装する方法

    問題の概要文字列 S が与えられたとき、複数の置換操作を実行して、特定の文字グループを新しい文字列に置き換えることを考えます。各置換操作には3つのパラメータがあります。開始インデックス i、検索対象の単語 x、置換後の単語 y です。ルールは次のとおりです。もし x が元の文字列 S の位置 i から始まっている場合は、その出現箇所を y に置き換えます。そうでない場合は、何も行いません。例1S = abcd という文字列に対し、置換操作 i = 2、x = cd、y = ffff を適用するとします。「cd」は元の文字列 S の位置2から始まっているため、この部分を「ffff」に置き換えます

  2. Pythonでパターンに一致する単語を見つけて置換する方法

    問題の概要 単語のリスト words とパターン pattern が与えられたとき、リストの中からパターンに一致する単語をすべて見つけます。ここで「単語がパターンに一致する」とは、文字同士の一対一の対応付け(置換)p が存在し、パターン内のすべての文字 x を p(x) に置き換えると、その単語と完全に一致することを意味します。 例として、入力が [abc, deq, mee, aqq, dkd, ccc]、パターンが abb の場合を考えてみましょう。このときの出力は [mee, aqq] になります。「mee」も「aqq」も、1文字目と2文字目が異なり、2文字目と3文字目が同じという ab