MySQL入門

文字列の部分一致検索(LIKE)

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
部分一致検索を利用すれば、商品名などからあるキーワードが含まれた商品を探し出すといったことが簡単に行えます。ここでは、LIKE構文の使い方を紹介しましょう。
講師:
06:33

字幕

ここでは文字列の 部分一致検索としまして LIKE というものについて 紹介していきます LIKE は WHERE 句の中で 使える構文なのですが 数字の型ではなく文字列  つまりバーキャラや- テキスト型の場合に使える 非常に便利な構文です では 早速確認してみましょう まず「MAMP」からスタートページを開き 「phpMyAdmin」を開きます そしてデータベースを新しく作成し ここに予め準備しています SQL の文章を流し込んでいきましょう ここでは「lesson_03_05」という SQL がありますので こちらを開いて「実行」ボタンで インポートしてください するとこの様な item_table というのが出来上がり 中に幾つかの この様なテーブルが入っています では こちらで確認をしていきましょう こちら「SQL」をクリックし 「select *」これは全てのフィールドという意味で 「item_table」とします まず前件をヒットさせて見ましょう するとこの様に7件のデータが 入っていることがわかります ここで例えば name where の「item_name = ’りんご’」 などどします 「実行」すると この様にりんごがヒットします そして例えばここに 「’あおりんご’」と設定すると こちらあおりんごがヒットします では この時 りんごとあおりんごを両方 ヒットさせるにはどうしたらよいでしょうか 1つの方法としましてはこの様に 「item_name = ’りんご’」としたものを 「or」 論理演算子の「or」で繋ぎます これで「実行」すると確かに りんごとあおりんごが両方がヒットします しかし商品名によっては りんごという商品の名前が どこに含まれているかは わからないなどの場合があるかもしれません 例えば書籍のオンラインショッピングなどで 書籍名に PHP が含まれている書籍を ヒットさせたいなどの場合に この様に or で全ての書籍名を並べる というわけにはいきません そこで このベータベースには 部分一致検索といい- 商品名の中であるキーワードが 含まれているかどうかを 判断するという条件があります それが LIKE という演算子です では実際に使ってみましょう where 構文のところに 「item_name」とし「like」と記述します そしてここに「’りんご’」と記述するのですが この状態ですとまだ「=」と 同じ意味になってしまいます しかしこの「like」という構文を使うと この中に「%」という記号を使うことができます この「%」という記号は いわゆるワイルドカードという- 何でも OK という意味になります これで検索をして見ましょう すると この様にりんごとあおりんご 両方がヒットするようになりました これはこの「’りんご’」という構文には 「’りんご’」の左側に何も含まれていませんが 何も含まれていないというのも 「%」ではヒットしますので りんごがヒットします そして「りんご」の左側に 「あお」というキーワードがある場合も ここワイルドカードが効いているので ここに「あお」が入っていても あおりんごとしてヒットするという訳です こちら「りんご」の前に「%」を付けるのを 後方一致検索と言います こちらのキーワードの最後の部分の 「りんご」というのがヒットすれば 前方は何でもいいという意味で 後方が一致している 後方一致検索と呼びます そして「%」の記号を後ろに付ける 前方一致検索というのもあります この場合「実行」すると 先ほどまでヒットしていた- あおりんごはなくなりました なぜならこの条件の場合「りんご」から始まる キーワードのみがヒットしますので 「りんご」というキーワードは ヒットするのですが 「あおりんご」は 前に「あお」が着いてしまうので 前方一致としては正しくありません その為「あおりんご」は ヒットしなくなったということです そして書籍の検索などで 非常に良く使われるかと思われる- キーワードが含まれていれば- 前方だろうが後方だろうが どこでも良いという検索を 部分一致検索と言います 両端にこの様に「%」記号を 付けてあげる検索で「実行」を押すと これでも「あおりんご」がヒットします また りんご何とかという 前方一致検索にもヒットするようになり 1番検索範囲の広い条件になります この部分一致検索というのを使ってあげれば いわゆるキーワード検索 というものが可能になります 書籍のショッピングサイトや その他ツイッターなどの SNS などで よく実装されている キーワード検索という機能は この部分一致検索を使った 機能であると考えられます ただこの部分一致検索という検索は 非常に処理コスト  つまり処理の時間が掛かる処理です その為この様な 部分一致検索をするテーブルに関しては 様々な最適化の処理であったり データベースのテーブルの作りを かなり工夫しなければならない事なども ありますので 気をつけて実装していく必要があります とはいえ それ程気を使わずに 便利にこの部分一致検索を使って データベースを管理したり システムを制作したりしてみると良いでしょう

MySQL入門

このコースではPHPとMySQLというデータベースを組み合わせたWebシステムを構築する手法について解説します。「データベースとはなにか」を説明したのち、プライマリーキーやリレーションなどの重要な用語についても解説しながら実際にデータベースを動かしていきます。

3時間14分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2013年12月31日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。