MySQLでデータを取得する方法!(SELECT)

MySQL MySQL

MySQLでデータを取得する方法について書いています。
データベースのテーブルからデータを取得するには、テーブルに対してSELECT文を使うと良いです。

MySQLのバージョン8.0.32で、動作を検証しています。

テーブルからデータを取得する

MySQLでテーブルからデータを取得するにはSELECT文を使いましょう。
データベースをUSEで選択した後に、下記のようにSQLを実行します。

SELECT * FROM users;

SELECTの後のアスタリスク(*)は、全てのカラムを取得することを明示的に書いています。
FROMの後にデータを取得したいテーブル名を書きます。

今回はusersテーブルから、全てのカラムのデータを取得するという意味になります。
usersテーブルは、こちらの記事で作成したテーブルで、「id / name / age / birthday」という4つのカラムを持っています。
usersテーブルには3件のデータを格納済みです。

実行すると、下記のように全てのカラムのデータが取得できます。

id name age birthday
1 yasuaki 34 1989-02-06
2 taro 20 2003-01-01
3 hanako 22 2001-01-01

全てのカラムのデータが取得できました。
全データの3件が取得できました。

カラムを指定してデータを取得する

SELECTを使うときに、カラムを指定することで、指定したカラムのデータのみを取得することができます。
例えば、このように指定できます。

SELECT name, age FROM users;

こうすると、下記のように指定したカラムのみのデータが表示されました。

name age
yasuaki 34
taro 20
hanako 22

WHEREで条件をつけてデータを絞る

SELECT文を使うときに、WHEREを入れることで検索条件をつけることができます。
例えば、下記のようにWHEREで取得対象を絞ることが可能です。

SELECT * FROM users WHERE 30 <= age;

usersテーブルからデータを取得しています。
WHEREの後に「30 <= age」と条件を指定しています。

年齢(age)が30歳以上のレコードを取得しています。
実行すると、下記のように30歳以上のユーザーデータが取得できました。

id name age birthday
1 yasuaki 34 1989-02-06

WHEREで使える比較演算子

また、下記のように他の比較演算子を使用して、条件をつけてデータを取得することができます。

比較演算子 説明
<= (以上) 30 <= age 30歳以上のデータを対象にする
< (超える) 30 < age 30歳を超えるデータを対象にする
>= (以下) 30 >= age 30歳以下のデータを対象にする
> (未満) 30 > age 30歳未満のデータを対象にする
= (同じ) 30 = age 30歳のデータを対象にする
!= (以外) 30 != age 30歳以外のデータを対象にする
<> (以外) 30 <> age 30歳以外のデータを対象にする

COUNTでデータ件数を取得する

SELECTと一緒にCOUNTを使うことで、データの件数を取得することができます。
例えば、下記のように使うことができます。

SELECT COUNT(*) FROM users;

このようにすると、全件の件数が取得できます。
結果は、下記のようになります。

+----------+
| COUNT(*) |
+----------+
|        3 |
+----------+

COUNTで条件(WHERE)をつけて件数を取得する

COUNTを使ったときにもWHEREで条件をつけることができます。

SELECT COUNT(*) FROM users WHERE age = 20;

このように使うと、年齢(age)が20歳のデータのみを取得することができます。
全件で3件ありますが、20歳のユーザーデータは1件です。

結果、下記のように表示されます。

+----------+
| COUNT(*) |
+----------+
|        1 |
+----------+

MySQLでデータを取得する方法まとめ

今回はMySQLでデータを取得する方法について書きました。
記事の内容をまとめると、下記のようになります。

・「`SELECT * FROM テーブル名`」で、テーブルの全件のデータが取得できた。
・「`SELECT カラム1 FROM テーブル名`」と取得するカラム(列)を絞ることができた。
・`WHERE`を使うことで、条件をつけて取得されるデータ件数を絞ることができた。
・`COUNT`を使うことで、レコードの件数をカウントできた。

コメント

タイトルとURLをコピーしました