データを取得するには「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;
ここまでが「SELECT」の基本!
理解をさらに深めたい方は以下からの内容もご覧ください。
結果をデータごとに縦に表示する
コマンドの一番後ろにつけるセミコロン(;
)の代わりに \G
をつけることで、結果をデータごとに縦に表示することができます。
実行例
SELECT * FROM menus\G
まとめ
以上、MySQLコマンド「SELECT」の使い方でした!
ここまでの内容をまとめておきます。
- 「SELECT」コマンドでデータを取得することができる。
SELECT
の後ろに記述する内容は、*
ですべてのカラム、カラム名を指定することでそのカラムの値を取得できる。- 「WHERE」や「ORDER BY」、「LIMIT」と組み合わせて、結果を絞り込んで使うことが多い。