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

MySQLのTRIM()関数で全行の余分な空白を削除し、テーブルを一括更新する方法

MySQLのTRIM()関数で全行の空白を削除し、テーブルを一括更新する方法

テーブルのカラムに余分な空白(スペース)を含むデータが大量に格納されている場合、ストレージ容量の無駄になるだけでなく、検索や比較の際にも支障をきたすことがあります。MySQLではTRIM()関数を使うことで、たった1つのUPDATEクエリで全行の空白を削除し、テーブルを同時に更新できます。

ここでは、すべての行に空白が含まれている「Employee」テーブルを例に、具体的な手順を解説します。

例:空白を含むEmployeeテーブル

mysql> Select * from Employee;
+------+----------------------+----------------------+----------------------+
| Id   | Name                 | Address              | Department           |
+------+----------------------+----------------------+----------------------+
| 100  | Raman                | Delhi                | IT                   |
| 101  | Mohan                | Haryana              | History              |
| 102  | Shyam                | Chandigarh           | ENGLISH              |
| 103  | Sukhjeet Singh       | Patiala              | Computer Engg.       |
| 104  | Bimal Roy            | Calcutta             | Computer Engg.       |
+------+----------------------+----------------------+----------------------+
5 rows in set (0.00 sec)

上記の結果セットを見ると、Employeeテーブルの各行に多くの不要な空白が含まれていることがわかります。これらの空白は、次のようなUPDATE文で一括して削除・更新できます。

TRIM()関数を使った更新クエリ

mysql> Update Employee SET Id = TRIM(Id), Name = TRIM(Name), Address = TRIM(Address), DEPARTMENT = TRIM(Department);
Query OK, 5 rows affected (0.24 sec)
Rows matched: 5 Changed: 5 Warnings: 0

mysql> Select * from Employee;
+------+----------------+------------+----------------+
| Id   | Name           | Address    | Department     |
+------+----------------+------------+----------------+
| 100  | Raman          | Delhi      | IT             |
| 101  | Mohan          | Haryana    | History        |
| 102  | Shyam          | Chandigarh | ENGLISH        |
| 103  | Sukhjeet Singh | Patiala    | Computer Engg. |
| 104  | Bimal Roy      | Calcutta   | Computer Engg. |
+------+----------------+------------+----------------+
5 rows in set (0.00 sec)

更新後の結果セットを確認すると、すべての余分な空白が取り除かれ、テーブルが正しく更新されていることがわかります。

補足:TRIM()関数のポイント

TRIM()関数は、文字列の先頭と末尾にある空白を削除します。用途に応じて以下の関数も活用できます。

  • LTRIM():文字列の先頭の空白のみを削除
  • RTRIM():文字列の末尾の空白のみを削除

また、UPDATE文にWHERE句を組み合わせれば、特定の行だけを対象に空白を削除することも可能です。データのクレンジングやメンテナンス作業において、TRIM()関数は非常に便利なツールといえます。

  1. MySQLでテーブルから最後の行を除くすべての行を取得する方法

    MySQLでテーブルから最後の1行だけを除外して、それ以外のすべての行を取得したい場合は、!=(等しくない)演算子とサブクエリを組み合わせて使用します。サブクエリでID列の最大値(=最後の行)を取得し、その値と一致しない行だけを抽出する仕組みです。基本構文SELECT * FROM テーブル名 WHERE ID列名 != (SELECT MAX(ID列名) FROM テーブル名);実際にテーブルを作成して確認するそれでは、具体的な例を使って動作を確認してみましょう。まず、以下のクエリでテーブルを作成します。mysql> CREATE TABLE AllRecordsExceptLastO

  2. MySQLですべての行を更新し、文字列内および前後の不要な空白を一括削除する方法

    MySQLで文字列内および文字列の前後にある不要な空白を削除するには、TRIM()関数を使用します。TRIM()は、文字列の先頭と末尾から余分なスペースを取り除くことができる便利な関数です。ここでは、実際にテーブルを作成し、全行を更新する手順を解説します。サンプルテーブルの作成まず、動作を確認するためのテーブルを作成しましょう。mysql> create table DemoTable1405     -> (     -> FirstName varchar(20),   &