MySQLでWHEREとLIKE演算子を使って、特定のキーワードを含むレコードを検索します。
【MySQL】WHEREとLIKE演算子でデータ検索する背景
基本的にテーブルに入っているキーワードは、単一では記載されてないことが多いです。
動物 |
---|
いるか,猫,パンダ,ゴリラ |
なので、WHERE句を使ってデータ検索するときにid='2'
といったようなSQL文では、単一のキーワードが入ったレコード抽出はできません。
そこで以下のように、「LIKE演算子」と「%」を組み合わせて、WHERE句を指定します。
SELECT * FROM テーブル名 WHERE フィールド名 LIKE '%キーワード%'
今回は、以下テーブルのフィールド「keyword」のデータ抽出を行っていきます!
1. 前方不一致(hoge%)の検索
前方不一致のキーワードを検索する例。
SELECT * FROM mytable WHERE keyword LIKE '青い%'
前方不一致のキーワード検索結果↓
2. 後方不一致(%hoge)の検索
後方不一致のキーワードを検索する例。
SELECT * FROM mytable WHERE keyword LIKE '%青い'
後方不一致のキーワード検索結果↓
3. 部分不一致(%hoge%)の検索
部分不一致のキーワードを検索する例。
SELECT * FROM mytable WHERE keyword LIKE '%青い%'
部分不一致のキーワード検索結果↓
4. 特定のキーワードを含まない検索
特定のキーワードを含まない検索例。
SELECT * FROM mytable WHERE keyword NOT LIKE '%青い%'
部分不一致のキーワード検索結果↓
まとめ
まだLIKE演算子の検索方法はありますが、とりあえずざっと4種類のキーワード検索パターンをメモ。

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