データベース多少使っていたものの余り意味を理解していなかったほぼド素です。
前回MySQLでデータベース(以下DB)を作成したので今回はSELECT文についてEnvaderの環境を用いてデータの操作を学んでいきます。
SELECT文について
SELECT文はSQL文のうちDML(Data Manipulation Language)データ操作言語の一つです。
読んで字のごとくですがDBからデータを取得してくる際に使用します。
SELECT カラム名 FROM テーブル名;
SQL文お約束の末尾に;
(セミコロン)を忘れないようにしましょう。
主なDML
- SELECT データ取得
- UPDATE データ更新
- DELETE データ削除
- INSERT データ挿入
操作方法1. カラムの指定
*
(アスタリスク)を使用して指定したテーブル内のすべてのカラムを取ってくる場合。
SELECT * FROM テーブル名;
複数のカラムを取得する場合はカラム名を,
(カンマ)で区切ります。
SELECT name, mail, salary FROM テーブル名;
操作方法2. WHEREを使った取得条件の指定
WHERE 絞り込み条件
とすることで該当するデータを取得できます。
SELECT カラム名 FROM テーブル名 WHERE 絞り込み条件;
# 社員テーブルから長宗我部さんを絞り込んでみます
SELECT * FROM employee WHERE name="長宗我部";
比較演算子を使って絞り込むことができます。
SELECT * FROM employee WHERE salary<=300000;
比較演算子 | 使用用途 |
---|---|
= | ~と等しい |
< | ~より小さい |
> | ~より大きい |
<= | ~以下 |
>= | ~以上 |
<>または != | ~と等しくない |
使ってみた
ここまでしっかり理解できているかどうか、MySQL SELECTの基本①の演習問題2を解いてみます。
まずはDBに接続しPasswordを入力します。
mysql>
が表示されたらuse
コマンドを使用してDBを指定します。
use food_app
userテーブルに存在するレコードの中でidが5の人のemailアドレスを答えなさい。
とのことなのでカラム名をemail
、テーブル名をuser
、条件をid=5
とした以下のSELECT文を入力。
select email from user where id=5;
+----------------------+
| email |
+----------------------+
| horikawa@example.com |
+----------------------+
1 row in set (0.00 sec)
SELECTやWHEREを小文字で入力することもできます。現場の状況にあった使い方をしましょう。
このように条件に合うメールアドレスを取得できました。
メールをコピペして解答欄に貼り付け提出し、無事正解となりました。
学んだこと
とりあえずタイトル通りのことは一通りできました。
単純なコマンドですが何回も繰り返し打たないとド忘れしそうな気がします。
次回学ぶこと
SELECT文後半となるLIMITと並べ替えを学びます。
参考にした資料