MySQLでデータを取得する(select の使い方)

データを取得するには「SELECT」文を使います。

ここでは MySQLコマンド「SELECT」の具体的な使い方を解説していきます。

 

「SELECT」の基本

以下のコマンドを実行すると、指定したテーブルから すべてのデータを取得することができます。

SELECT * FROM テーブル名;

また、以下のようにカラム名を指定することで、特定のカラムに格納されている値のみを取得できます。

SELECT カラム名 FROM テーブル名;

 

テーブルのすべてのデータを取得する

実際にMySQLサーバーに接続し、データを取得してみましょう。

 

あらかじめ「cooking」データベースの「menus」テーブルに、以下のようにデータが保存されている例で進めていきます。

name category
ハンバーグ 洋食
肉じゃが 和食
オムライス 洋食

データを保存するコマンド例

CREATE DATABASE cooking;
USE cooking;
CREATE TABLE menus (name VARCHAR(100), category VARCHAR(100));
INSERT INTO menus (name, category) VALUES ('ハンバーグ', '洋食');
INSERT INTO menus (name, category) VALUES ('肉じゃが', '和食');
INSERT INTO menus (name, category) VALUES ('オムライス', '洋食');
メモ

CREATE DATABASE 文の詳しい使い方はこちら

USE 文の詳しい使い方はこちら

CREATE TABLE 文の詳しい使い方はこちら

INSERT INTO 文の詳しい使い方はこちら

 

それでは「menus」テーブルから すべてのデータを取得してみましょう。コマンドは以下。

SELECT * FROM menus;

 

コマンドを実行すると、以下のようにテーブルの内容が表示されました。

 

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

今度は「name」カラムに格納されているデータのみを取得してみましょう。

以下のように SELECT の後ろにカラム名を指定します。

SELECT name FROM menus;

 

コマンドを実行すると、以下のように指定した「name」列のみが表示されました。

 

以下のようにカンマ(,)で区切ることで、複数のカラムを指定することもできます。

SELECT name, category FROM menus;

 

結果を絞り込んで表示する

「SELECT」を使う際には、「WHERE」や「ORDER BY」、「LIMIT」と組み合わせて、条件を指定して使うことが多いです。

 

例えば以下は、「menus」テーブルから「category」カラムに「洋食」が保存されているデータを、name 順に並べ替えて、上から1件のデータだけ取得する例です。

SELECT * FROM menus WHERE category = '洋食' ORDER BY name LIMIT 1;

メモ

それぞれの使い方は、以降の記事で詳しく解説しています。

「WHERE」の使い方はこちら(作成中)。

「ORDER BY」の使い方はこちら(作成中)。

「LIMIT」の使い方はこちら(作成中)。

 

ここまでが「SELECT」の基本!

理解をさらに深めたい方は以下からの内容もご覧ください。

 

結果をデータごとに縦に表示する

コマンドの一番後ろにつけるセミコロン(;)の代わりに \G をつけることで、結果をデータごとに縦に表示することができます。

 

実行例

SELECT * FROM menus\G

 

まとめ

以上、MySQLコマンド「SELECT」の使い方でした!

 

ここまでの内容をまとめておきます。

  • 「SELECT」コマンドでデータを取得することができる。
  • SELECT の後ろに記述する内容は、* ですべてのカラム、カラム名を指定することでそのカラムの値を取得できる。
  • 「WHERE」や「ORDER BY」、「LIMIT」と組み合わせて、結果を絞り込んで使うことが多い。