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

MySQLのREPLACE()関数で複数レコードの文字列を一括置換する方法

MySQL REPLACE()関数による複数レコードの一括文字列置換

複数のレコードに含まれる文字列をまとめて置き換えたい場合は、REPLACE()関数の第1引数(通常は対象の文字列を指定する箇所)にカラム名を指定します。これにより、指定したカラム内のすべての部分文字列が、別の部分文字列へと一括して置き換えられます。

さらに、UPDATE文と組み合わせてWHERE句を使用すれば、置き換え対象のレコードに条件を設けることも可能です。

使用例

以下の例では、科目名(Subject)に「Comp」を含む文字列を持つ学生のみを対象に、Nameカラム内の「G」を「S」に置き換えています。

mysql> Update Student set Name = REPLACE(Name, 'G','S') WHERE Subject LIKE '%Comp%';
Query OK, 2 rows affected (0.08 sec)
Rows matched: 2 Changed: 2 Warnings: 0

このクエリを実行すると、Studentテーブルの条件に合致する複数レコードの文字列が一度に置き換えられます。

実際にテーブルの内容を確認してみましょう。

mysql> Select Name, Subject from Student;
+---------+-----------+
| Name    | Subject   |
+---------+-----------+
| Saurav  | Computers |
| Aarav   | History   |
| Harshit | Commerce  |
| Saurav  | Computers |
| Yashraj | Math      |
+---------+-----------+
5 rows in set (0.00 sec)

結果を見ると、元々「Gaurav」だったレコードが「Saurav」に変更されていることがわかります。WHERE句の条件(Subject LIKE '%Comp%')に一致した2行だけが更新され、それ以外のレコードは元のまま維持されています。このように、REPLACE()関数をUPDATE文やWHERE句と組み合わせることで、柔軟かつ効率的な一括文字列置換が実現できます。

  1. MySQLで条件に基づいてレコードを置き換える方法(CASE文の使い方)

    MySQLで条件に応じてレコードの値を置き換えたい場合は、CASE文を使用します。CASE文を使うことで、UPDATE文の中で複数の条件分岐を定義し、それぞれの条件に一致するレコードに対して異なる値を設定できます。ここでは、実際のサンプルを通じて具体的な手順を解説します。1. サンプルテーブルの作成まず、テスト用のテーブルを作成します。mysql> create table DemoTable1481    -> (    -> PlayerScore int   &

  2. MySQLのREPLACE()関数でテーブル内の文字を置き換える方法

    MySQLでは、REPLACE()関数を使うことで、文字列の中から特定の1文字だけを簡単に置き換えることができます。この記事では、実際にテーブルを作成し、UPDATE文とREPLACE()関数を組み合わせて文字を置き換える手順を、サンプルコード付きでわかりやすく解説します。 1. サンプルテーブルを作成する まず、置き換え対象となるテーブルを作成します。 mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.69 sec