こんにちは。fsです。
データベースを管理していると、特定のデータを検索をする必要性が出てきます。
大量のデータがある場合、持っている全てのデータを見るのはとても大変だからです。
例えば、顧客情報のデータ管理であれば、
「名前で検索したい」
「生年月日で顧客層を見てみたい」
などのニーズは良くあります。
というわけで今回は、MySQLを使って特定のデータを検索するという作業をやっていきたいと思います。
特定のデータを検索する
それでは早速データを検索していきましょう。
今回は数百件の顧客情報(姓、名、生年月日)があるという前提で進めます。
whereでデータを検索
データの検索にはwhereという構文を使います。
まずselect * fromでテーブル名を選び、whereでカラムを指定します。
今回は佐藤という顧客の情報を検索します。
select * from 顧客 where 姓="佐藤";
実行すると、たくさんの佐藤さんが出てきます。
andで絞り込み
whereだけでは、
「まだデータが多すぎる💦」
なんてことも良くあります。
今回はたくさんの佐藤さんがいらっしゃいますので、90年生まれ以降の方に絞り込みたいと思います。
whereの後に姓を指定し、andで絞り込み条件を追加します。
※>=は以降という意味の記述です
select * from 顧客 where 姓="佐藤" and 生年月日>="1990/01/01";
実行すると、ちゃんと絞り込みができています。
likeであいまい検索
検索したい情報が明確な場合は上記のやり方でも良いですが、記憶があいまいなときもあります。
例えば、
「あのお客さん、木村さんだったっけ?それとも中村さん?」
みたいなケースです。
そんなとき使えるコマンドがlikeです。
今回の場合は、姓をlikeでつなぎ、あいまいな部分を%で記載します。
(◯村さんという形で検索します)
select * from 顧客 where 姓 like "%村";
実行すると、このような検索結果が出てきます。
これらを組み合わせると、さらに精度の高い検索ができるようになります。
色々と試してみましょう😌
まとめ
いかがだったでしょうか。
MySQLのコマンドを使い、データの
- 通常検索
- 絞り込み検索
- あいまい検索
を紹介していきました。
いろんなコマンドを組み合わせると、より精度の高いデータ取得が可能になっていきます。
これらの処理もデータベースを扱う上での基礎となりますのでぜひ手を動かしながら慣れていっていただければ幸いです。
今回は以上です。
最後までお読みいただきありがとうございました。
fsも愛用中!UdemyでMySQLを学ぼう!!
コメント