MySQLでREPLACE()関数を使って文字列内のスペースを削除するUPDATEクエリの書き方
文字と文字の間に不要なスペースが含まれているデータを一括で修正したい場合、MySQLのREPLACE()関数を使えば簡単にスペースを削除できます。
基本構文
スペースを除去するUPDATEクエリの基本構文は以下の通りです。
UPDATE テーブル名 SET カラム名 = REPLACE(カラム名, ' ', '');
この構文では、指定したカラム内のすべての半角スペースを空文字('')に置き換えることで、文字列からスペースを取り除いています。
動作確認用のサンプルテーブルを作成する
それでは、実際に上記の構文を試してみましょう。まずはテスト用のテーブルを作成します。
mysql> create table removeSpaceDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserId varchar(20), -> UserName varchar(10), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.81 sec)
サンプルデータの挿入
次に、INSERTコマンドを使ってスペースを含むデータを登録します。
mysql> insert into removeSpaceDemo(UserId,UserName) values(' John 12 67 ','John');
Query OK, 1 row affected (0.33 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values('Carol 23 ','Carol');
Query OK, 1 row affected (0.34 sec)登録データの確認
SELECT文でテーブル内の全レコードを表示してみましょう。
mysql> select *from removeSpaceDemo;
実行結果は以下の通りです。
+----+------------------+----------+ | Id | UserId | UserName | +----+------------------+----------+ | 1 | John 12 67 | John | | 2 | Carol 23 | Carol | +----+------------------+----------+ 2 rows in set (0.00 sec)
出力結果を見ると、「John 12 67」や「Carol 23」のように、UserIdカラムの文字列内にスペースが混在していることがわかります。
REPLACE()関数でスペースを削除する
それでは、REPLACE()関数を使ったUPDATEクエリを実行して、文字間のスペースをすべて削除します。
mysql> update removeSpaceDemo set UserId=REPLACE(UserId,' ',''); Query OK, 2 rows affected (0.63 sec) Rows matched: 2 Changed: 2 Warnings:
「Rows matched: 2 Changed: 2」と表示されており、2件のレコードが正常に更新されたことが確認できます。
更新後のデータを再確認
もう一度SELECT文を実行して、テーブルの内容をチェックしましょう。
mysql> select *from removeSpaceDemo;
実行結果は以下の通りです。
+----+----------+----------+ | Id | UserId | UserName | +----+----------+----------+ | 1 | John1267 | John | | 2 | Carol23 | Carol | +----+----------+----------+ 2 rows in set (0.00 sec)
更新後の出力結果では、「John1267」「Carol23」となり、文字列内のスペースが完全に除去されていることが確認できました。
まとめ
このように、UPDATE文とREPLACE()関数を組み合わせることで、テーブル内の既存データからスペースを一括して削除できます。データクレンジングや入力値の正規化など、実務でもよく使われるテクニックなので、ぜひ覚えておきましょう。なお、全角スペースを削除したい場合は、第2引数に全角スペースを指定すれば同様に処理できます。
-
MySQLのUPDATE文で1つのクエリを使って複数のレコードを更新する方法
MySQLでは、UPDATEステートメントを使うことで、1つのクエリで複数のカラムや複数のレコードの値をまとめて更新できます。この記事では、実際にサンプルテーブルを作成し、UPDATE文でデータを更新する具体的な手順を解説します。サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, &
-
MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方
MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> FirstName varchar(50) -> ); Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを