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

MySQLでLIKEまたはREGEXPを使って特定の値を持つレコードを検索する方法

MySQLでは、LIKE演算子またはREGEXP演算子を使用することで、テーブルから特定の値を持つレコードを簡単に検索できます。この記事では、実際にサンプルテーブルを作成し、両方の演算子を使った検索手順を実行結果付きで解説します。

1. サンプルテーブルの作成

まず、検索対象となるテーブルを作成します。

mysql> create table DemoTable651 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,Value varchar(100));
Query OK, 0 rows affected (0.59 sec)

2. レコードの挿入

INSERT文を使って、テーブルにいくつかのレコードを追加します。

mysql> insert into DemoTable651(Value) values('Title');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable651(Value) values('course');
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable651(Value) values('subject');
Query OK, 1 row affected (0.20 sec)

3. テーブルの内容を確認する

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

mysql> select *from DemoTable651;

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

+----+---------+
| Id | Value   |
+----+---------+
|  1 | Title   |
|  2 | course  |
|  3 | subject |
+----+---------+
3 rows in set (0.00 sec)

4. LIKE演算子で特定の値を検索する

LIKE演算子を使って「course」という値を検索するクエリが以下です。LIKEは通常、ワイルドカード(% や _)と組み合わせて部分一致検索を行いますが、ワイルドカードを指定しない場合は完全一致での検索になります。

mysql> select *from DemoTable651 where Value LIKE 'course';

実行結果:

+----+--------+
| Id | Value  |
+----+--------+
|  2 | course |
+----+--------+
1 row in set (0.00 sec)

5. REGEXP演算子で特定の値を検索する

次に、REGEXP演算子を使った検索方法です。REGEXPは正規表現によるパターンマッチングを行うため、LIKEよりも柔軟で複雑な条件指定が可能です。

mysql> select *from DemoTable651 where Value REGEXP 'course';

実行結果:

+----+--------+
| Id | Value  |
+----+--------+
|  2 | course |
+----+--------+
1 row in set (0.00 sec)

まとめ

LIKEは単純なパターンマッチングに、REGEXPは正規表現を活用した高度な検索に適しています。両者の特徴を理解し、用途に応じて使い分けることで、目的のレコードを効率的に取得できます。

  1. JavaとMySQLでLIKE検索を使う際、検索変数の引用符を正しく記述する方法

    JavaからMySQLに接続し、LIKE句で検索変数(キーワード)を使ったあいまい検索を行う場合、SQL文中の文字列を正しくシングルクォート()で囲むことが重要です。まず、検索変数を使ったLIKE句の正しい構文を見てみましょう。String sqlQuery; sqlQuery = select * from yourTableName where yourColumnName like % + yourSearchVariableName + %;それでは、実際にサンプルテーブルを作成して動作を確認していきます。サンプルテーブルの作成まず、テーブルを作成します。mysql> creat

  2. ApacheとMySQLを連携させる方法|ユーザー認証とログ管理の基本

    ApacheとMySQLの連携とは本記事では、Webサーバー「Apache」とデータベース「MySQL」を組み合わせて活用する方法を解説します。Apacheは、Apache Software Foundationによって開発・保守されているWebサーバーソフトウェアです。ユーザーからWebページへのアクセス要求(リクエスト)を受け付け、いくつかのセキュリティチェックを実施したうえで、目的のページへとユーザーを誘導します。MySQLによるユーザー認証MySQLデータベースを使ってユーザー認証を行えるプログラムは数多く存在します。これらのプログラムを利用すれば、アクセスログをMySQLのテーブルに