
ゆうき( @BASEBALLY15 )です^^
MySQLについて,勉強したいのですが,どのように使うのか教えてください・・・
分かりました^^
それでは,今回は,基礎的な内容をご紹介します.
その中でも, where句やlimit句,like句についてご紹介しますね^^
よろしくお願いします・・・
(Udemy『はじめてのSQL・データ分析入門』を参考)

目次
SQLとは?
データベースの操作を行う際に使う言語の一つです.
大量のデータから必要なデータを取り出したり,データを社内などで共有したりするときに,SQLを使うことが多いです.
MySQLとは?
MySQLはSQLのうちの一つであり,世界中で使われています.
また,オープンソースのため,無償で利用できます.
世界中で使われているなら,それだけの需要があるのではないかと考え,
様々なSQLの中から,『MySQL』を選び,学習を始めました.
MySQLを使ってみよう!

を使って,学習を行っていきます.
それでは,コードを見ていきましょう⤵
コード
『world』という,サンプルのデータベースを使います.
このデータベースには,このように3つのテーブルがあります.
- city
- country
- countrylanguage
その中で,今回は『city』のテーブルを使います.
使うデータベースを決めよう!
#『world』というサンプルデータベースを使う
use world;
where句を使ってみよう!
select * from city where ID <= 5;
ID | Name | CountryCode | District | Population | |
---|---|---|---|---|---|
1 | Kabul | AFG | Kabol | 1780000 | |
2 | Qandahar | AFG | Qandahar | 237500 | |
3 | Herat | AFG | Herat | 186800 | |
4 | Mazar-e-Sharif | AFG | Balkh | 127800 | |
5 | Amsterdam | NLD | Noord-Holland | 731200 | |
where ID <= 5と書くことで,IDが5以下のデータを取り出すことができます.
また,『*』は全データを選択する,ということを意味しています.
まとめると,このようになります.
cityというテーブルからIDが5以下(where ID <= 5)のデータを 全(*) 選択(select)します.
(※アンダーバーを引いている個所は,コードを表しています.)
次に,limit句についてご紹介します.
limit句を使ってみよう!
#人口が200000人以上を抽出(上位10位)
select * from city where Population >= 200000 limit 10;
ID | Name | CountryCode | District | Population | |
---|---|---|---|---|---|
1 | Kabul | AFG | Kabol | 1780000 | |
2 | Qandahar | AFG | Qandahar | 237500 | |
5 | Amsterdam | NLD | Noord-Holland | 731200 | |
6 | Rotterdam | NLD | Zuid-Holland | 593321 | |
7 | Haag | NLD | Zuid-Holland | 440900 | |
8 | Utrecht | NLD | Utrecht | 234323 | |
9 | Eindhoven | NLD | Noord-Brabant | 201843 | |
34 | Tirana | ALB | Tirana | 270000 | |
35 | Alger | DZA | Alger | 2168000 | |
36 | Oran | DZA | Oran | 609823 | |
まず,where句でpolulationが200000人以上のデータを取り出します.
そして,上位10位までを表示したいので,ここで,『limit句』を使います.
まとめると,このようになります.
cityというテーブルからPopulationが20万人以上(where Population >= 200000)で上位10人分(limit 10)のデータを 全(*) 選択(select)します.
最後に,like句についてご紹介します.
like句を使ってみよう!
like句を使うと,このようなことができます.
- “〇%”→”〇”で始まる文字列のデータを表示
- “%〇%”→”〇”を含む文字列のデータを表示
- “__〇”→3文字で”〇”で終わる文字列のデータを表示
具体的にコードを見てみましょう⤵
#likeを使って,指定した文字を持っているデータのみ取得
select * from city where District like "%Holland%";
ID | Name | CountryCode | District | Population | |
---|---|---|---|---|---|
5 | Amsterdam | NLD | Noord-Holland | 731200 | |
6 | Rotterdam | NLD | Zuid-Holland | 593321 | |
7 | Haag | NLD | Zuid-Holland | 440900 | |
16 | Haarlem | NLD | Noord-Holland | 148772 | |
19 | Zaanstad | NLD | Noord-Holland | 135621 | |
23 | Dordrecht | NLD | Zuid-Holland | 119811 | |
24 | Leiden | NLD | Zuid-Holland | 117196 | |
25 | Haarlemmermeer | NLD | Noord-Holland | 110722 | |
26 | Zoetermeer | NLD | Zuid-Holland | 110214 | |
30 | Delft | NLD | Zuid-Holland | 95268 | |
32 | Alkmaar | NLD | Noord-Holland | 92713 | |
このように,” Holland “を含むデータのみを取り出すことができます.
おまけ
今まで紹介してきたテーブルを見ると,カラムが英語で表示されています.
それを,日本語の表示に変更してみたいと思います.
#コラムの名前を変える
select Name as 名前, CountryCode as 国コード, District as 地区, Population as 人口 from city limit 5;
名前 | 国コード | 地区 | 人口 | |
---|---|---|---|---|
Kabul | AFG | Kabol | 1780000 | |
Qandahar | AFG | Qandahar | 237500 | |
Herat | AFG | Herat | 186800 | |
Mazar-e-Sharif | AFG | Balkh | 127800 | |
Amsterdam | NLD | Noord-Holland | 731200 |
『as』を使うことで,文字を書き替えることができます.
終わりに
今回は,初めてMySQLについて投稿しました.
まだまだ,分からないことが多いので,学習していきます!
今後も,学習したことを投稿していきます^^
それでは・・・
Q &A
参考資料
MySQL Workbench インストール方法