このページについて
このページではMySQLのSELECT構文を使って、指定テーブルからデータを取得する方法を紹介しています。指定テーブルから全ての情報を取得する方法と、指定した条件に一致するレコードのみ取得する方法を紹介していきます。
SELECT構文
select構文は指定テーブルからデータを取得する時に使います。これは全データの取得と、指定した条件に一致するデータのみ取得のどちらも可能です。使う前に、useで使うデータベースを指定しておきます(use テーブル名)。基本的な構文は以下の通りです。
select カラム名 from テーブル名;
selectの後のカラム名はそのままですね。指定テーブルのカラムをここで指定すると、その指定したカラムのデータのみ取得します。fromはどのテーブルからデータを持ってくるかを指定します。
SELECTで全てのカラムを指定する
selectで全てのカラムを取得対象にする場合、アスタリスクを使います。
select * from テーブル名;
実行すると、全てのカラムの全てのレコードが取得できます。
SELECTで指定カラムのみ取得
selectで指定したカラムの情報のみ取得するにはカラムを指定します。この時単一のカラムでも良いですし、複数のカラムを指定しても良いです。
select カラム1,カラム2 from テーブル名;
と書くとカラム1(id)とカラム2(name)のデータのみ取得できます。実際に実行すると以下のようになります。
whereでどこか一部でも一致するカラムを取得
ここからはselectとwhereを組み合わせて、より欲しいデータのみを取得する方法の紹介になります。whereはカラムを指定する時に使うんですが、今回はorを使ってみることにします。orは「または」という意味になります。まずは構文から。
select * from テーブル名 where カラム=条件 or カラム=条件;
これだけ見たらよくわからないと思いますが、実際に実行すると以下のようになります。
今回実行したのは「type1かtype2にこおりを持つレコードのみを取得」というものになります。なのでtype1にこおりを持つフリーザー、キュレムはもちろんtype2にこおりが登録されているラプラスもちゃんと取得できています。
whereで全てが一致するカラムのみ取得
次はandを使って、全ての条件に一致するカラムのみ取得をやってみます。使うのは以下。
select * from テーブル名 where 条件1 and 条件2;
条件1はこれまでと同じく、type1=’みず’などです。今回は「type1がみずかつ、type2がこおりのレコードのみ取得」というものを行います。
このようにandを使う事でどちらの条件も満たすものだけを取得できます。
一致しないものだけを取得
次はwhere notを使って、一致しないものだけを取得してみます。これは要するに「指定した条件以外を全て取得」というもので、ポケモンで言えば特定タイプ以外のタイプ(ほのお・ひこう・はがね等)全てのタイプを無作為に取得する使い方と言っても良いですね。今回は「みずタイプ」以外を取得としてみました。
select * from テーブル名 not 条件;
元々テーブルにみず・こおり・ひこう・ドラゴンしかいなくて、かつtype1にはみず・こおりの2種しか居ないので分かりにくいとは思いますが、この結果は「みず以外全て取得」したテーブルです。
ソートして取得
selectは内容をソート(並び替え)して取得することもできます。並び替えにはorder byを使います。通常、数字が低いものから順番に高くなっていく並び方を昇順と言い、逆に数の大きいものから順番に小さくなっていく事を降順と言います。そしてデフォルトでは昇順のascが設定されていますが、descを付与すると降順にしてくれます。以下がそれぞれの実行結果です。
数字に対して実行しましたが、次は文字に対して行ってみたいと思います。
文字に対してorder byを行うと、ご覧の通り五十音順にソートされます。
まとめ
selectはシンプルにデータを取得して表示するという面において便利です。他にもjoinでテーブル同士を結合したりすることもできますが、それはjoinのページを参考にしてみてください。
- MySQLの用語集
- MySQLでよく使う・よく見る用語集です。知っておくと検索とかも便利になります。
- ローカル環境の整え方
- MAMPを使ってローカル環境を整える方法を紹介。
- MySQLデータベースに接続する方法
- MAMPのデータベースと、レンタルサーバーのデータベースに接続する方法
- MySQLの基本コマンド
- MySQLへ接続してまず使う基本コマンドの一覧です。
- データベースの作成
- ターミナル・phpMyAdminでのデータベースの作成方法をそれぞれ解説。
- テーブルの作成
- ターミナル・phpMyAdminのそれぞれでテーブルを作成する方法と、作成と同時にPRIMARYやUNIQUEの付与などの方法を紹介。
- キーの種類と機能
- カラムに設定出来るキーの種類と機能を解説。
- 正規化
- リレーショナルデータベースを使う上で必須となる正規化について。データの追加や更新などで手間を省く方法としても使えます。
- ALTER TABLE
- ALTER TABLE構文を使って作成済みのテーブルに対して操作を行う。PRIMARYの付与やカラムの移動・名前変更・追加・削除なども行えます。
- INSERT構文
- INSERT構文を使って指定テーブルにデータ(行)を挿入する方法の解説です。
- UPDATE構文
- UPDATE構文を使って指定テーブルのカラムを一括更新、もしくは指定レコードの指定カラムのみを更新する方法の解説です。
- SELECT構文
- SELECT構文を使って指定したテーブルからデータを取得する方法の解説です。
- JOIN
- JOINを使ってテーブル同士を結合する方法の解説です。