【MySQL】SELECT構文を使ってデータを取得する

mysqlMySQL
書いてる人
あいりゅー

プログラミングを学びながら更新しています。
iPhone/iPad/Mac/Apple WatchなどのApple製品はこちらで主に更新しています。
麻雀の反省をひたすら掲載してるブログもやってます。

あいりゅーをフォローする

このページについて

このページでは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がこおりのレコードのみ取得」というものを行います。

where and

このようにandを使う事でどちらの条件も満たすものだけを取得できます。

一致しないものだけを取得

次はwhere notを使って、一致しないものだけを取得してみます。これは要するに「指定した条件以外を全て取得」というもので、ポケモンで言えば特定タイプ以外のタイプ(ほのお・ひこう・はがね等)全てのタイプを無作為に取得する使い方と言っても良いですね。今回は「みずタイプ」以外を取得としてみました。

select * from テーブル名 not 条件;

where not

元々テーブルにみず・こおり・ひこう・ドラゴンしかいなくて、かつtype1にはみず・こおりの2種しか居ないので分かりにくいとは思いますが、この結果は「みず以外全て取得」したテーブルです。

ソートして取得

selectは内容をソート(並び替え)して取得することもできます。並び替えにはorder byを使います。通常、数字が低いものから順番に高くなっていく並び方を昇順と言い、逆に数の大きいものから順番に小さくなっていく事を降順と言います。そしてデフォルトでは昇順のascが設定されていますが、descを付与すると降順にしてくれます。以下がそれぞれの実行結果です。

order byの実行結果

数字に対して実行しましたが、次は文字に対して行ってみたいと思います。

nameに対してorder

文字に対して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を使ってテーブル同士を結合する方法の解説です。
タイトルとURLをコピーしました