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句を追加すれば、特定の条件に一致するレコードだけを対象に置き換えることも可能です。大量のデータを一括修正したい場合に非常に便利な機能なので、ぜひ活用してみてください。
-
MySQLで列内の特定の文字を置き換える方法|REPLACE()関数とUPDATE文の使い方
MySQLである列に含まれる特定の文字を別の文字に置き換えたい場合、REPLACE() 関数と UPDATE 文を組み合わせることで簡単に実現できます。この記事では、実際のサンプルコードを交えながら、具体的な手順をわかりやすく解説します。1. テーブルを作成するまずは動作確認用のサンプルテーブルを作成しましょう。ここでは「Code」という varchar 型のカラムを持つテーブルを定義します。mysql> create table DemoTable1899 ( Code varchar(20) ); Query OK, 0 rows affected (0.00
-
MySQLでテーブルが存在するかどうかを確認する方法【INFORMATION_SCHEMA.TABLES活用】
MySQLでテーブルの存在を確認するにはMySQLにおいて、特定のテーブルがデータベース内に存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLES を利用するのが一般的な方法です。このシステムビューには、サーバー上のすべてのデータベースとテーブルに関するメタデータが格納されており、これを参照することで目的のテーブルが存在するかを簡単に調べられます。基本構文テーブルの存在確認は、以下のようなSELECT文で行います。select table_name from information_schema.tables where table_schema=database