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

MySQLでTEXT型カラム内のファイル拡張子を一括変更する方法

MySQLのTEXT型カラムに保存されたファイル拡張子を変更したい場合、UPDATE文REPLACE()関数を組み合わせることで簡単に実現できます。例えば、複数のカラムに異なる拡張子が保存されており、それらをすべて別の拡張子に置き換えたいようなケースを考えてみましょう。

この記事では、実際にテーブルを作成し、データを挿入して、拡張子を一括置換するまでの手順をサンプルSQL付きで解説します。

1. TEXT型カラムを持つテーブルを作成する

まず、拡張子を格納するカラムをTEXT型として定義したテーブルを作成します。

mysql> create table DemoTable
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ProgramExtension1 text,
    ProgramExtension2 text,
    ImageExtension text
);
Query OK, 0 rows affected (0.52 sec)

3つのTEXT型カラム(ProgramExtension1、ProgramExtension2、ImageExtension)と、主キーとなるIdカラムを持つテーブルが作成されました。

2. サンプルデータを挿入する

次に、INSERT文を使ってテーブルにレコードを追加します。

mysql> insert into DemoTable(ProgramExtension1,ProgramExtension2,ImageExtension)values('.java','.c','.jpeg');
Query OK, 1 row affected (0.18 sec)

プログラムファイルの拡張子「.java」「.c」と、画像ファイルの拡張子「.jpeg」を登録しました。

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

SELECT文で登録内容を確認してみましょう。

mysql> select *from DemoTable;

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

+----+-------------------+-------------------+----------------+
| Id | ProgramExtension1 | ProgramExtension2 | ImageExtension |
+----+-------------------+-------------------+----------------+
|  1 | .java             |                 .c |          .jpeg |
+----+-------------------+-------------------+----------------+
1 row in set (0.00 sec)

4. UPDATE文とREPLACE()関数で拡張子を一括変更する

ここからが本題です。UPDATE文の中でREPLACE()関数を使用すると、各カラムの文字列を一度に置き換えることができます。

mysql> update DemoTable
    set ProgramExtension1=replace(ProgramExtension1,'.java','.py'),
    ProgramExtension2=replace(ProgramExtension2,'.c','.cpp'),
    ImageExtension=replace(ImageExtension,'.jpeg','.png');
Query OK, 1 row affected (0.13 sec)
Rows matched: 1  Changed: 1  Warnings: 0

このクエリでは、以下のように拡張子をまとめて変更しています。

  • 「.java」→「.py」
  • 「.c」→「.cpp」
  • 「.jpeg」→「.png」

REPLACE()関数は「REPLACE(対象文字列, 置換前の文字列, 置換後の文字列)」という形式で指定するため、部分一致での置換にも対応できます。拡張子だけでなく、URLやパスの一部をまとめて修正したい場合にも応用できる便利な関数です。

5. 変更結果を確認する

最後に、拡張子が正しく変更されているか再度SELECT文で確認します。

mysql> select *from DemoTable;

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

+----+-------------------+-------------------+----------------+
| Id | ProgramExtension1 | ProgramExtension2 | ImageExtension |
+----+-------------------+-------------------+----------------+
|  1 |               .py |               .cpp |            .png |
+----+-------------------+-------------------+----------------+
1 row in set (0.00 sec)

すべての拡張子が意図した通りに更新されていることが確認できました。

まとめ

MySQLでTEXT型カラム内のファイル拡張子を変更するには、UPDATE文とREPLACE()関数を組み合わせるのが最もシンプルで効率的な方法です。複数のカラムに対しても1つのUPDATE文で同時に処理できるため、大量のデータを扱う際にも活用できます。WHERE句を追加すれば特定のレコードだけを対象にすることも可能なので、状況に応じて使い分けてください。

  1. MySQLルートパスワードをリセットまたは変更する方法【ALTER USERコマンド解説】

    MySQLのrootパスワードをリセットまたは変更するには、まず管理者モードでMySQLにログインする必要があります。ログイン後、mysqlデータベースに切り替えて、登録されているすべてのユーザーとホスト情報を確認できます。 1. ユーザー一覧の確認 以下のクエリを実行して、現在存在するユーザーとホストの一覧を表示します。 SELECT user,host FROM user; 実行結果は次のとおりです。 +------------------+-----------+ | user | host | +------------------+------

  2. 【保存版】テキストの大文字・小文字を一瞬で変換する方法|Word・Googleドキュメント・Mac・オンラインツール対応

    Microsoft WordやGoogleドキュメントで文章を入力した際、「大文字と小文字を間違えて打ってしまった…」という経験はありませんか?「小文字を大文字に(あるいはその逆に)変えたいのに方法がわからない」というお問い合わせを多くいただきます。中には、誤入力した部分を全部消して打ち直そうと考えている方もいますが、実はもっと効率的な解決策があります。幸いなことに、Microsoft Wordをはじめとするほぼすべてのテキストエディタには、選択したテキストの大文字・小文字を変換する機能が標準搭載されています。ITに詳しくない方でも簡単に操作でき、しかもその方法は複数あります。この記事では、そ