広告

MySQLのWHEREとLIKE演算子でデータ検索する方法

2019年9月2日

MySQLでWHEREとLIKE演算子を使って、特定のキーワードを含むレコードを検索します。

MySQLのWHERE句とLIKE演算子GIF

【MySQL】WHEREとLIKE演算子でデータ検索する背景

基本的にテーブルに入っているキーワードは、単一では記載されてないことが多いです。

動物
いるか,猫,パンダ,ゴリラ

なので、WHERE句を使ってデータ検索するときに id='2' といったようなSQL文では、単一のキーワードが入ったレコード抽出はできません

SQLのエラー

そこで以下のように、「LIKE演算子」と「%」を組み合わせて、WHERE句を指定します

SELECT * FROM テーブル名 WHERE フィールド名 LIKE '%キーワード%'

今回は、以下テーブルのフィールド「keyword」のデータ抽出を行っていきます!

MySQLでLIKE使ってデータ抽出する対象のテーブル

補足
MySQLにテーブルを作成するには、こちらの以下記事を参考ください。
参考記事
Mysql-database-howto
MySQLにデータベースを作成する方法のメモ(phpMyAdmin)

phpMyAdminのMySQLにデータベースを作成する方法のメモです。 phpMyAdminの管理画面を、先に日本語設 ...

続きを見る

1. 前方不一致(hoge%)の検索

前方不一致のキーワードを検索する例。

SELECT * FROM mytable WHERE keyword LIKE '青い%'

前方不一致のキーワード検索結果↓

MySQL・LIKEにて前方不一致のキーワードを取得

2. 後方不一致(%hoge)の検索

後方不一致のキーワードを検索する例。

SELECT * FROM mytable WHERE keyword LIKE '%青い'

後方不一致のキーワード検索結果↓

MySQL・LIKEにて後方不一致のキーワードを取得

3. 部分不一致(%hoge%)の検索

部分不一致のキーワードを検索する例。

SELECT * FROM mytable WHERE keyword LIKE '%青い%'

部分不一致のキーワード検索結果↓

MySQL・LIKEにて部分不一致のキーワードを取得

4. 特定のキーワードを含まない検索

特定のキーワードを含まない検索例。

SELECT * FROM mytable WHERE keyword NOT LIKE '%青い%'

部分不一致のキーワード検索結果↓

MySQL・NOT LIKEのデータ取得結果

まとめ

まだLIKE演算子の検索方法はありますが、とりあえずざっと4種類のキーワード検索パターンをメモ。

OYAKUN
OYAKUN
自分でフィールドの中身を変更しながら、実際に検索してみるとおもしろいっすね。

次記事では、ORDER BY句を使ってフィールド名指定したソート(昇順・降順)を行っていきます!

次回記事
mysql-orderby-sort
【MySQL】ORDER BY句でデータの並び替えを行う方法

MySQLではORDER BY句でフィールドを指定することで、テーブル内の並びかえを行うことができます。 ここではMyS ...

続きを見る

関連記事:MySQLのWHEREとLIKE演算子でデータ検索する方法
関連記事:MySQLデータベースの用語・基本の5つ
関連記事:MySQLでAuto_incrementを設定し動作確認する3ステップ(phpMyAdmin)