MySQLのLIKE句で特定の列の値(名前)を取得する方法
MySQLでテーブルから特定の列の値を取得したい場合は、LIKE句を使用します。LIKE句は部分一致検索を行うための句で、ワイルドカードと組み合わせることで、特定のパターンに一致するレコードだけを効率的に抽出できます。
この記事では、実際にサンプルテーブルを作成し、LIKE句を使って特定の名前を取得する手順を順番に解説します。
1. サンプルテーブルを作成する
まず、名前を格納するためのテーブルを作成しましょう。以下のCREATE TABLE文を実行します。
mysql> create table DemoTable1809
(
Name varchar(20)
);
Query OK, 0 rows affected (0.00 sec)「Name」というvarchar型の列を持つシンプルなテーブルが作成されました。
2. テーブルにデータを挿入する
次に、INSERT文を使っていくつかのレコードを登録します。
mysql> insert into DemoTable1809 values('John');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('Mike');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1809 values('Johnson');
Query OK, 1 row affected (0.00 sec)これで「John」「David」「Mike」「Johnson」の4件のデータが登録されました。
3. 登録された全レコードを確認する
SELECT文ですべてのレコードを表示して、データが正しく挿入されているか確認します。
mysql> select * from DemoTable1809;
実行結果は以下の通りです。
+---------+ | Name | +---------+ | John | | David | | Mike | | Johnson | +---------+ 4 rows in set (0.00 sec)
4. LIKE句で特定の値を取得する
ここからが本題です。特定の値を取得するには、WHERE句とLIKE句を組み合わせます。例として、「Johnson」という名前を前方一致で検索してみましょう。
mysql> select * from DemoTable1809 where Name LIKE 'Johnson%';
実行結果は以下の通りです。
+---------+ | Name | +---------+ | Johnson | +---------+ 1 row in set (0.00 sec)
LIKE句のポイント
上記のクエリでは、パターンの末尾に%(パーセント)というワイルドカードを使用しています。この意味は以下の通りです。
- 'Johnson%':「Johnson」で始まるすべての文字列に一致(前方一致)
- '%Johnson':「Johnson」で終わるすべての文字列に一致(後方一致)
- '%Johnson%':「Johnson」を含むすべての文字列に一致(部分一致)
このように、LIKE句とワイルドカードを組み合わせることで、柔軟な条件でのデータ抽出が可能になります。なお、完全一致で取得したい場合は、LIKE句ではなく「=(イコール)」演算子を使用するのが一般的です。
-
MySQLで特定のカラムのデータをエクスポートする方法(INTO OUTFILEの使い方)
MySQLで特定のカラムのデータをエクスポートする方法 MySQLでテーブルから特定のカラム(列)のデータだけをファイルに書き出したい場合は、SELECT文とINTO OUTFILEを組み合わせるのが最もシンプルで確実な方法です。この記事では、実際にテーブルを作成し、データを投入したうえで、特定のカラムをテキストファイルへエクスポートする手順を順番に解説します。 基本構文 特定のカラムをファイルに出力する際の基本構文は次のとおりです。 select yourColumnName from yourTableName into outfile yourLocationOfFile; このように
-
MySQLで特定のカラム名を持つテーブルを検索する方法
MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a