2php : MySQLのWHEREオプション

 

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)