即理解!MySQLのSELECTで多用する5つのパターン

 

★悩み★
・MySQLでデータを取得する方法を知りたい。
・MySQLでのSELECTの基本的な使い方を知りたい。
・SELECTの末尾に指定するWHERE/ORDER/LIMITって何?



こういった「悩み」に答えます。
 

★本記事の内容★
➀ SELECTを使うためにMySQLを準備
➁ MySQLでのSELECTの基礎基本
➂ SELECTで取得したデータに対して条件を指定



これからご紹介する「即理解!MySQLのSELECTで多用する5つのパターン」を実践したことで、筆者は15分以内でSELECTを用いてMySQLからデータを取得できました。
 

記事の前半では「SELECTを使うためにMySQLにテーブル作成とデータ登録をする方法」をコマンドベースで紹介します。

記事の後半では「MySQLで多用するSELECTの使い方5選」を紹介します。
 

この記事を読み終えることで、「SELECTを用いてMySQLに格納されたデータを取得できる」状態になります。
 

★MySQLとは★
MySQLは、Oracle社が開発しているオープンソースのデータベース管理システムです。MySQLは、YoutubeやWikipediaなどの大規模なサービスに利用されています。

参照:MySQLとは(MySQLの公式サイト)


 

ちなみに、「MySQLに登録されたデータを更新(UPDATE)する方法」を知りたい方は、以下の記事をご覧ください。

>> MySQLでupdateを用いてレコードを更新する方法


 

【PR】この記事には広告を含む場合があります

SELECTを使うためにMySQLを準備


「SELECTを使うためにMySQLを準備」に関してご紹介します。
 

★SELECTを使うためにMySQLを準備する流れ★
手順1:MySQLのインストールとセットアップ
手順2:データベースとテーブルをMySQLに作成
手順3:MySQLに作成したテーブルにデータを追加



上記の流れで、「SELECTを使うためにMySQLを準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年6月10日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「SELECTを使うためにMySQLを準備する流れ」の各手順に関してご説明します。
 

手順1:MySQLのインストールとセットアップ

「手順1:MySQLのインストールとセットアップ」に関してご説明します。
 

SELECTを用いてデータを取得するためにも、MySQLのインストールとセットアップをしましょう。



「MySQLのインストールとセットアップ手順」に関しては、以下の記事「MySQLを4手順でインストールする方法」をご覧ください。

>> MySQLを4手順でインストールする【Linux向け】

 

既にMySQLのインストールとセットアップが終わっている方は、本手順を省略してください。



以上で、「手順1:MySQLのインストールとセットアップ」は完了です。
 

手順2:データベースとテーブルをMySQLに作成

「手順2:データベースとテーブルをMySQLに作成」に関してご説明します。
 

SELECTを用いてデータを取得するには、MySQL内にデータベースとテーブルの作成が必要です。



「MySQLでデータベースとテーブルを作成する手順」に関しては、以下の記事「MySQLでinsertを用いてデータを追加するための準備」をご覧ください。

>> MySQLでinsertを用いてデータを追加する手順

 

既にMySQLのデータベースとテーブルを作成されている方は、本手順を省略してください。



以上で、「手順2:データベースとテーブルをMySQLに作成」は完了です。
 

手順3:MySQLに作成したテーブルにデータを追加

「手順3:MySQLに作成したテーブルにデータを追加」に関してご説明します。
 

SELECTを用いてデータを取得するためにも、MySQLにデータを追加しましょう。



「MySQLのテーブルにデータ(レコード)を追加する手順」に関しては、以下の記事「insertを用いでMySQLにデータを追加する方法」をご覧ください。

>> MySQLでinsertを用いてデータを追加する手順

 

既にMySQLのテーブルにデータを追加済みである方は、本手順を省略してください。



以上で、「手順3:MySQLに作成したテーブルにデータを追加」は完了です。
 

上記の流れで、SELECTを使うためのMySQLの準備ができました。


 

MySQLでのSELECTの基礎基本


「MySQLでのSELECTの基礎基本」に関してご紹介します。
 

★MySQLでのSELECTの基礎基本★
・SELECTの基本構文
・MySQLから全データを取得
・SELECTで指定したカラムのみ取得



まずは、MySQLの「SELECTの構文」を抑えつつ、シンプルなSELECTの使い方を説明します。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年6月10日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「MySQLでのSELECTの基礎基本」の各項目に関してご説明します。
 

SELECTの基本構文

「SELECTの基本構文」に関して説明します。
 

MySQLからデータを取得したい場合、SQLの「SELECT」を実行します。



MySQLの「SELECT」の構文は、以下となります。
 

★基本的なSELECTの構文★
・機能
 MySQLから指定したデータを取得する
・使い方
 SELECT カラム名1, カラム名2,… FROM テーブル名;
・例
 SELECT name, addrerss FROM user;
・実行結果
 カラム名「name」と「address」の全てのデータを取得する
・参照
 SELECTのリファレンス(MySQL公式サイト)



以上が、「SELECTの基本構文」となります。
 

MySQLから全データを取得

「MySQLから全データを取得」に関してご説明します。
 

MySQLの指定テーブルに格納された全データを取得したい!というケースは多々あります。その実現方法をご紹介しますね。



MySQLから全データを取得したい場合のSELECTの構文は、以下となります。
 

★SELECTの構文:全データを取得したい場合★
・使い方
 SELECT * FROM テーブル名;
・例
 SELECT * FROM user;
・実行結果
 userテーブルに格納された全てのデータを取得する



それでは、MySQLの指定テーブルに格納された全データを取得するために、以下のSELECTを実行してみましょう。
 

mysql> select * from user;
+------+------+-----------+
| id   | name | address   |
+------+------+-----------+
|    1 | hero | kakedashi |
|    2 | tom  | america   |
|    3 | bob  | america   |
|    4 | ken  | japan     |
+------+------+-----------+
4 rows in set (0.00 sec)

mysql> 



コマンド実行後、「全てのデータ」が表示された場合、「正常にSELECTでテーブルに格納された全データを取得できた」と判断できます。
 

以上が、「MySQLから全データを取得」となります。
 

SELECTで指定したカラムのみ取得

「SELECTで指定したカラムのみ取得」に関してご説明します。
 

MySQLの指定テーブルに格納された一部のカラムのデータを取得したい!というケースは多々あります。その実現方法をご紹介しますね。



MySQLから一部のカラムに格納された全データを取得したい場合、以下のSELECT構文となります。
 

★SELECTの構文:一部のカラムに格納された全データを取得したい場合★
・使い方
 SELECT カラム名1, カラム名2,… FROM テーブル名;
・例
 SELECT name, addrerss FROM user;
・実行結果
 カラム名「name」と「address」の全てのデータを取得する



それでは、MySQLの指定カラムに格納された全データを取得するために、以下のSELECTを実行してみましょう。
 

mysql> select name,address from user;
+------+-----------+
| name | address   |
+------+-----------+
| hero | kakedashi |
| tom  | america   |
| bob  | america   |
| ken  | japan     |
+------+-----------+
4 rows in set (0.00 sec)

mysql> 



コマンド実行後、「nameとaddress」に格納された全データが表示された場合、「正常にSELECTで指定カラムの全データを取得できた」と判断できます。
 

以上が、「SELECTで指定したカラムのみ取得」となります。
 

以上が、MySQLでのSELECTの基礎基本となります。
上記2つのSELECTパターンは、多用するので覚えておきましょう。


 

SELECTで取得したデータに対して条件を指定


「SELECTで取得したデータに対して条件を指定」に関してご紹介します。
 

★SELECTで取得したデータに対して指定できる条件の一覧★
・MySQLのSELECTで条件(WHERE)を指定
・SELECTで取得したデータの並び順(ORDER)を指定
・MySQLのSELECTで取得するデータの件数(LIMIT)を指定



SELECTに対して「条件」「データの並び順」「取得する件数」を指定できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年6月10日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「SELECTで取得したデータに対して指定できる条件の一覧」の各項目に関してご説明します。
 

MySQLのSELECTで条件(WHERE)を指定

「MySQLのSELECTで条件(WHERE)を指定」に関してご説明します。
 

MySQLの指定テーブルから条件を満たすデータのみを取得したい!というケースは多々あります。その実現方法をご紹介しますね。



MySQLから条件を満たす全データを取得したい場合、以下のSELECT構文となります。
 

★SELECTの構文:条件を満たすデータのみを取得したい場合★
・使い方
 SELECT カラム名1, カラム名2,… FROM テーブル名 WHERE 条件;
・例
 SELECT * FROM user WHERE address = ‘america’;
・実行結果
 「address」カラムにおいて、’america’が格納されたデータのみ取得する



それでは、MySQLから条件を満たすデータのみを取得するために、以下のSELECTを実行してみましょう。
 

mysql> select * from user WHERE address = 'america';
+------+------+---------+
| id   | name | address |
+------+------+---------+
|    2 | tom  | america |
|    3 | bob  | america |
+------+------+---------+
2 rows in set (0.00 sec)

mysql> 



コマンド実行後、「america」が表示された場合、「正常にSELECTで条件を満たすデータを取得できた」と判断できます。
 

以上が、「MySQLのSELECTで条件(WHERE)を指定」となります。
 

SELECTで取得したデータの並び順(ORDER)を指定

「SELECTで取得したデータの並び順(ORDER)を指定」に関して説明します。
 

MySQLの指定テーブルから昇順や降順に並び替えた上でデータを取得したい!というケースは多々あります。その実現方法をご紹介しますね。



MySQLから並び順を指定した上でデータを取得したい場合、以下のSELECT構文となります。
 

★SELECTの構文:並び順を指定した上でデータを取得したい場合★
・使い方
 SELECT カラム名, … FROM テーブル名 ORDER BY カラム名 DESC/ASC;
・例1
 SELECT * FROM user ORDER BY id ASC;
・例1の実行結果
 idカラムに格納されたデータを昇順にした上でデータ取得する
・例2
 SELECT * FROM user ORDER BY id DESC;
・例2の実行結果
 idカラムに格納されたデータを降順にした上でデータ取得する



それでは、MySQLから並び順を指定した上でデータを取得するために、以下のSELECTを実行してみましょう。
 

↓↓ 昇順(ASC)の例 ↓↓
mysql> select * from user ORDER BY id ASC;
+------+------+-----------+
| id   | name | address   |
+------+------+-----------+
|    1 | hero | kakedashi |
|    3 | bob  | america   |
|    4 | ken  | japan     |
+------+------+-----------+
3 rows in set (0.00 sec)

↓↓ 降順(DESC)の例 ↓↓
mysql> select * from user ORDER BY id DESC;
+------+------+-----------+
| id   | name | address   |
+------+------+-----------+
|    4 | ken  | japan     |
|    3 | bob  | america   |
|    1 | hero | kakedashi |
+------+------+-----------+
3 rows in set (0.00 sec)

mysql>



以上が、「SELECTで取得したデータの並び順(ORDER)を指定」となります。
 

MySQLのSELECTで取得するデータの件数(LIMIT)を指定

「MySQLのSELECTで取得するデータの件数(LIMIT)を指定」に関して説明します。
 

MySQLから取得するデータの件数を少量にしたい!というケースは多々あります。その実現方法をご紹介しますね。



MySQLから取得するデータの件数を指定したい場合、以下のSELECT構文となります。
 

★SELECTの構文:取得するデータの件数を指定したい場合★
・使い方
 SELECT カラム名, … FROM テーブル名 LIMIT 件数
・例
 SELECT * FROM user LIMIT 2;
・例の実行結果
 userテーブルから2件データを取得する



それでは、MySQLから取得するデータの件数を指定した上でデータを取得するために、以下のSELECTを実行してみましょう。
 

mysql> select * from user LIMIT 2;
+------+------+-----------+
| id   | name | address   |
+------+------+-----------+
|    1 | hero | kakedashi |
|    3 | bob  | america   |
+------+------+-----------+
2 rows in set (0.00 sec)

mysql>



コマンド実行後、「データが2件のみ」表示された場合、「正常にSELECTで取得するデータの件数を指定した上でデータを取得できた」と判断できます。
 

以上が、「MySQLのSELECTで取得するデータの件数(LIMIT)を指定」となります。
 

以上が、MySQLで「条件」「データの並び順」「取得する件数」を指定した上でのデータ取得方法となります。



ちなみに、「MySQLを基礎から体系的に学びたい」や「その他のMySQLのコマンドを知りたい」方は、以下の参考書がオススメです。



動画で学びたい方には、以下をオススメします。

MySQL入門@udemy


 

【まとめ】即理解!MySQLのSELECTで多用する5つのパターン


今回の記事を通して、「即理解!MySQLのSELECTで多用する5つのパターン」をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・MySQLでデータを取得する方法を知りたい。
・MySQLでのSELECTの基本的な使い方を知りたい。
・SELECTの末尾に指定するWHERE/ORDER/LIMITって何?



MySQLでデータを取得する方法は?」や「SELECTの使い方は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント