MySQL select where

DB構造

スキーマ各種→demoスキーマ
→システムスキーマ→システムcfgスキーマテーブル(設定など)
→テーブル各種

テーブル情報に対しての操作、レコード追加、編集、削除など行い
さまざまなテーブルがjoinして出来上がる

テーブルに含まれるカラム、レコード、フィールド


  • テーブル
    データがひとまとまりの表形式になっている
    テーブルは複数のカラムとレコードで構成される

  • カラム
    カラムとはテーブルの縦列のこと。格納できるデータの”型”が決まってる。
    intカラム、Stringカラムなど決められる。

  • レコード
    レコードはテーブルの横列のこと。

  • フィールド
    レコードの中の1つの項目のこと。実際にデータが格納されている場所。

    テーブル操作

//dbコンテナにはいる
$ docker-compose exec db bash
//mySqlアプリ起動
$ mysql -u root -p
   pass=root
//スキーマDB一覧表示(ログインユーザのスキーマ)
$ show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
//demoスキーマを利用
$ use demo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

SELECT文

select→カラム選択
from→テーブル選択

demoスキーマ配下のitemテーブルを指定し、select *とすることですべてのカラムを対象とし表示。

$ select * from demo.item;
+----+-----------+-------+---------+
| id | name      | price | content |
+----+-----------+-------+---------+
| 48 | めお      | 99998 | めお    |
| 50 | meooo     | 35677 | meo     |
+----+-----------+-------+---------+
7 rows in set (0.00 sec)

demoスキーマ配下のitemテーブルを指定し、nameカラムを対象とし表示

$ select name from demo.item;
+-----------+
| name      |
+-----------+
| めお      |
| meooo     |
+-----------+

limit

limitをつけることでレコードの表示数を指定できる。

itemテーブルから1レコード表示

mysql> SELECT * FROM demo.item limit 1;
+----+-----------+-------+---------+
| id | name      | price | content |
+----+-----------+-------+---------+
|  2 | めおお    | 300   | めお    |
+----+-----------+-------+---------+

where

どのレコードにするか横軸を選ぶ

  • id46のレコードを表示させる。
  • andでid=2,price=300のレコードを表示
mysql> SELECT * FROM demo.item where id = 46 limit 10;
+----+------+-------+---------+
| id | name | price | content |
+----+------+-------+---------+
| 46 | 771  | 96    | aa77    |
+----+------+-------+---------+

mysql> SELECT * FROM demo.item where id = 2 and price = 300 limit 1;
+----+-----------+-------+---------+
| id | name      | price | content |
+----+-----------+-------+---------+
|  2 | めおお    | 300   | めお    |
+----+-----------+-------+---------+