つづいて作成したレコードを表示する方法を見ていきましょう。

SQLにおいてテーブルに作成済みのレコードを取得(表示)するには select 文を使います。

select id, title from categories;

select 文は次のような構文になります。

select 列名, ... from テーブル名;

さきほどのSQL文の場合はデータの取得元となるテーブル名に categories を指定しています。またテーブルの列名として idtitle を指定しています。

それでは実際にMySQLクライアントプログラムから select 文を実行してみましょう。

MariaDB [eldb]> select * from categories;
+----+-------------+
| id | title       |
+----+-------------+
|  1 | Programming |
|  2 | Design      |
|  3 | Marketing   |
+----+-------------+
3 rows in set (0.00 sec)

MariaDB [eldb]> 

実行結果のように以前に作成した3件のレコードを確認できます。

また次のように列名を title だけにすると title 列の結果のみを取得できます。

MariaDB [eldb]> select title from categories;
+-------------+
| title       |
+-------------+
| Programming |
| Design      |
| Marketing   |
+-------------+
3 rows in set (0.00 sec)

MariaDB [eldb]> 

すべての列名を指定する

select 文は列名の指定に * アスタリスクを指定できます。これはすべての列名を記述するのと同じ意味になります。

select * from categories;

実際にMySQLクライアントプログラムから select 文を実行してみましょう。

MariaDB [eldb]> select * from categories;
+----+-------------+
| id | title       |
+----+-------------+
|  1 | Programming |
|  2 | Design      |
|  3 | Marketing   |
+----+-------------+
3 rows in set (0.00 sec)

MariaDB [eldb]> 

さきほどのSQLと同じように id 列、 title 列の結果が出力されているのがわかります。

参考:検索条件の指定

select 文は where 句を追加することで検索条件を指定できます。

select id, title from categories where id = 2;

ここでは where 句を使って id 列の値が 2 と等しいレコードのみを抽出しています。MySQLのクライアントプログラムから select 文を実行してみましょう。

MariaDB [eldb]> select id, title from categories where id = 2;
+----+--------+
| id | title  |
+----+--------+
|  2 | Design |
+----+--------+
1 row in set (0.00 sec)

MariaDB [eldb]> 

実行結果は id 列の値が 2 のレコード1件だけとなります。

where 句の詳細な使い方については後述します。

参考:レコードの並び順の変更

select 文は order by 句を追加することでレコードの並び順を変更できます。

select id, title categories from categories order by title;

ここでは title 列の値の辞書順(アルファベット順)でレコードを並べ変えています。MySQLのクライアントプログラムから select 文を実行してみましょう。

MariaDB [eldb]> select id, title from categories order by title;
+----+-------------+
| id | title       |
+----+-------------+
|  2 | Design      |
|  3 | Marketing   |
|  1 | Programming |
+----+-------------+
3 rows in set (0.00 sec)

実行結果は title 列の値が辞書順(DesignMarketingProgramming)で並べ替えられているのがわかります。

テーブルからのレコードを取得する方法については以上です。次は既存のレコードを更新する方法を見ていきましょう。

まとめ

  • テーブルからレコードを取得するには select 文を使う
  • select 文は where 句で検索条件を指定できる
  • select 文は order by 句でレコードの並び順を指定できる