★悩み★
・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を用いてレコードを更新する方法
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のデータベースとテーブルを作成されている方は、本手順を省略してください。
以上で、「手順2:データベースとテーブルをMySQLに作成」は完了です。
手順3:MySQLに作成したテーブルにデータを追加
「手順3:MySQLに作成したテーブルにデータを追加」に関してご説明します。
SELECTを用いてデータを取得するためにも、MySQLにデータを追加しましょう。
「MySQLのテーブルにデータ(レコード)を追加する手順」に関しては、以下の記事「insertを用いでMySQLにデータを追加する方法」をご覧ください。
既に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のSELECTで多用する5つのパターン
今回の記事を通して、「即理解!MySQLのSELECTで多用する5つのパターン」をご紹介することで、以下の悩みを解消しました。
★悩み★
・MySQLでデータを取得する方法を知りたい。
・MySQLでのSELECTの基本的な使い方を知りたい。
・SELECTの末尾に指定するWHERE/ORDER/LIMITって何?
「MySQLでデータを取得する方法は?」や「SELECTの使い方は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント