MySQL:WHEREオプション
WHEREオプションを利用すると、格納されたデータの中から必要な部分だけを閲覧することができます。WHEREオプションには数学的な記述が使われます。
=(イコール)
まずは=(イコール)を利用した場合です。フィールド名「id」が3の人のレコードを表示してみましょう。
mysql> SELECT * FROM userinfo WHERE id = 3;
+----+-------+------------------+-------+
| id | name | email | city |
+----+-------+------------------+-------+
| 3 | Omura | Omura@tamaya.tld | Tokyo |
+----+-------+------------------+-------+
1 row in set (0.02 sec)
PHPの場合、イコールは『==』と二つ記述する必要がありますが、MySQLの場合は一つで十分です。ごちゃごちゃにならないように気を付けましょう。
AND(アンド)
ANDを利用して複数の条件を満たすデータを表示してみましょう。idが3以上で、かつ「city」がNewyorkのものを検索します。
mysql> SELECT * FROM userinfo WHERE(id >=3 AND city = 'Newyork');
+----+--------+---------------+---------+
| id | name | email | city |
+----+--------+---------------+---------+
| 5 | Walter | walter@cw.com | Newyork |
+----+--------+---------------+---------+
1 row in set (0.00 sec)
「>=」などの比較演算子は、PHPと同じように利用できます。
OR(オア)
次はORを利用してみましょう。「id」が1または3ならば表示されます。
mysql> SELECT * FROM userinfo WHERE(id = 1 OR id = 3);
+----+-----------+--------------------+-------+
| id | name | email | city |
+----+-----------+--------------------+-------+
| 1 | tamakichi | tamakichi@beam.tld | Tokyo |
| 3 | Omura | Omura@tamaya.tld | Tokyo |
+----+-----------+--------------------+-------+
2 rows in set (0.00 sec)
