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

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

MySQLでは、REPLACE()関数を使うことで、文字列の中から特定の1文字だけを簡単に置き換えることができます。この記事では、実際にテーブルを作成し、UPDATE文とREPLACE()関数を組み合わせて文字を置き換える手順を、サンプルコード付きでわかりやすく解説します。

1. サンプルテーブルを作成する

まず、置き換え対象となるテーブルを作成します。

mysql> create table DemoTable
    -> (
    -> Name varchar(20)
    -> );
Query OK, 0 rows affected (0.69 sec)

2. レコードを挿入する

INSERT文を使って、サンプルデータを登録します。

mysql> insert into DemoTable values('John Smitk');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('David Miller');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Adam Smitk');
Query OK, 1 row affected (0.11 sec)

3. 現在のデータを確認する

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

mysql> select *from DemoTable;

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

+--------------+
| Name         |
+--------------+
| John Smitk   |
| David Miller |
| Adam Smitk   |
+--------------+
3 rows in set (0.00 sec)

「Smitk」という誤ったスペルが含まれているのがわかります。

4. REPLACE()関数で文字を置き換える

次に、UPDATE文とREPLACE()関数を組み合わせて、「k」を「h」に置き換えます。

mysql> update DemoTable
    -> set Name=replace(Name,'k','h');
Query OK, 2 rows affected (0.13 sec)
Rows matched: 3 Changed: 2 Warnings: 0

REPLACE()関数の基本構文は「REPLACE(対象カラム, '置換前の文字', '置換後の文字')」です。この例では、Nameカラム内のすべての「k」が「h」に変換されます。

5. 置き換え後のデータを確認する

もう一度SELECT文を実行して、結果を確認しましょう。

mysql> select *from DemoTable;

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

+--------------+
| Name         |
+--------------+
| John Smith   |
| David Miller |
| Adam Smith   |
+--------------+
3 rows in set (0.00 sec)

「John Smitk」「Adam Smitk」がそれぞれ「John Smith」「Adam Smith」に正しく修正されました。「David Miller」には「k」が含まれていないため、変更されていません。

まとめ

MySQLで特定の文字を置き換えたい場合は、UPDATE文とREPLACE()関数を組み合わせるのが最もシンプルな方法です。基本構文は以下の通りです。

UPDATE テーブル名 SET カラム名=REPLACE(カラム名, '置換前', '置換後');

また、WHERE句を追加すれば、特定の条件に一致するレコードだけを対象に置き換えることも可能です。大量のデータを一括修正したい場合に非常に便利な機能なので、ぜひ活用してみてください。

  1. MySQLで列内の特定の文字を置き換える方法|REPLACE()関数とUPDATE文の使い方

    MySQLである列に含まれる特定の文字を別の文字に置き換えたい場合、REPLACE() 関数と UPDATE 文を組み合わせることで簡単に実現できます。この記事では、実際のサンプルコードを交えながら、具体的な手順をわかりやすく解説します。1. テーブルを作成するまずは動作確認用のサンプルテーブルを作成しましょう。ここでは「Code」という varchar 型のカラムを持つテーブルを定義します。mysql> create table DemoTable1899 ( Code varchar(20) ); Query OK, 0 rows affected (0.00

  2. MySQLでテーブルが存在するかどうかを確認する方法【INFORMATION_SCHEMA.TABLES活用】

    MySQLでテーブルの存在を確認するにはMySQLにおいて、特定のテーブルがデータベース内に存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLES を利用するのが一般的な方法です。このシステムビューには、サーバー上のすべてのデータベースとテーブルに関するメタデータが格納されており、これを参照することで目的のテーブルが存在するかを簡単に調べられます。基本構文テーブルの存在確認は、以下のようなSELECT文で行います。select table_name from information_schema.tables where table_schema=database