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

MySQLのREGEXPでセミコロンがN個含まれる行を検索する方法

はじめに

MySQLでは、REGEXP演算子を使うことで、特定の文字が指定した回数だけ出現する行を簡単に検索できます。この記事では、セミコロン(;)を3個含む行を抽出する方法を、テーブル作成から実際の実行結果まで、サンプルコードとともにわかりやすく解説します。

サンプルテーブルの作成

まず、テスト用のテーブルを作成しましょう。

mysql> create table DemoTable
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Title text
);
Query OK, 0 rows affected (0.88 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into DemoTable(Title) values('This is; a; MySQL;Tutorial');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Title) values('Java is; an;Object Oriented');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Title) values('MongoDB ; is;a; database');
Query OK, 1 row affected (0.12 sec)

登録されたレコードの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select * from DemoTable;

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

+----+-----------------------------+
| Id | Title                       |
+----+-----------------------------+
|  1 | This is; a; MySQL;Tutorial  |
|  2 | Java is; an;Object Oriented |
|  3 | MongoDB ; is;a; database    |
+----+-----------------------------+
3 rows in set (0.00 sec)

セミコロンを3個含む行を検索する正規表現

以下のように、REGEXP '(.*;){3}'を使用すると、セミコロンを3個含む行だけを抽出できます。

mysql> select * from DemoTable where Title REGEXP '(.*;){3}';

実行結果は次のようになります。

+----+----------------------------+
| Id | Title                      |
+----+----------------------------+
|  1 | This is; a; MySQL;Tutorial |
|  3 | MongoDB ; is;a; database   |
+----+----------------------------+
2 rows in set (0.00 sec)

Id が 2 のレコード「Java is; an;Object Oriented」はセミコロンが2個しかないため、結果から除外されていることがわかります。

正規表現パターンの解説

ここで使用したパターン (.*;){3} の構成要素は以下の通りです。

  • .*; … 「任意の文字列(0文字以上)+セミコロン1個」という組み合わせに一致します。
  • {3} … 直前のパターンを3回繰り返すことを意味します。

このパターンは「セミコロンが3個以上含まれる行」にマッチします。任意のN個に対応させたい場合は、{N} の数値を変更するだけでOKです。たとえばセミコロンが5個の行を検索したい場合は (.*;){5} を使用します。

  1. WindowsでMySQLのmy.cnf設定ファイルの場所を確認する方法

    はじめにWindows環境でMySQLを運用していると、設定ファイル「my.cnf」がどこに保存されているのか分からず困ることがあります。Linuxとは異なり、Windowsでは設定ファイルの場所がサービス情報の中に記録されているため、少し手順を踏む必要があります。この記事では、初心者の方でも分かるように、my.cnfの場所を確認する手順をスクリーンショット付きの手順形式でわかりやすく解説します。手順1:「ファイル名を指定して実行」を開くまず、キーボードのショートカットキー Windows + R を押して、「ファイル名を指定して実行」ダイアログを開きます。手順2:services.msc を

  2. MySQLのmy.iniが見つからない?ProgramDataの隠しフォルダから探す方法

    MySQLの設定ファイル「my.ini」が見つからない理由MySQLの設定ファイル「my.ini」は、一般的なインストールフォルダではなく、ProgramDataフォルダ内の隠しディレクトリに保存されています。このフォルダは隠し属性になっているため、エクスプローラーの初期設定では表示されず、「my.iniがどこにもない」と悩む方が多いのです。以下の手順に沿って進めれば、簡単にファイルを見つけられます。my.iniへのアクセス手順1. Cドライブを開くまず、エクスプローラーでCドライブを開きます。2. ProgramDataフォルダを開くCドライブ直下にある「ProgramData」フォルダをク