where句のMySQL
私たちは、MySQLのテーブルからSQL SELECT文を使用してデータを読み取ることがことを知っています。
条件付きテーブルからデータを選択するには、SELECT文にWHERE句を追加することができます。
文法
データテーブルの一般的な構文からデータを読み込むためのWHERE句を使用してSQLのSELECT文は、次のとおりです。
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- あなたは、1つまたは複数のテーブルを使用して照会テーブル間のカンマ(、)セグメンテーションを使用し、検索条件を設定するには、WHERE句を使用することができます。
- あなたは、WHERE句で任意の条件を指定することができます。
- もし使用ANDまたはOR 1つ以上の条件を指定することができます。
- 句は、SQLにも適用することができるWHEREコマンドを削除または更新。
- 句は、プログラミング言語に似ているWHEREフィールドに基づいた条件は、特定のデータを読み取るためにMySQLのテーブル値場合。
次は、WHERE句で使用できる演算子のリストです。
Aは、実施例20〜B 10として、以下の表に想定されます
演算子 | 説明 | 例 |
---|---|---|
= | それらが等しい場合、2つの値が等しいかどうかを検出するために等しく、それは真を返します | (A = B)はfalseを返します。 |
<> ,! = | 等しくない場合はtrueを返し二つの値が等しいかどうかを検出するために同じではありません | (!= B)はtrueを返します。 |
> | 値がtrueのリターンの右の値よりも大きい場合に大きくなり記号、左の検出値は、左に右の値よりも大きいです | (A> B)はfalseを返します。 |
< | 値は返品権の真の値よりも小さい場合、左に検出された値よりも小さいんが、左へ右の値未満ではありません | (A <B)はtrueを返します。 |
> = | 値がtrueのリターンの右側の左側以上であれば、左側が右側の値以上である場合に検出するよりか等しい数の大きいです | (A> = B)がfalseを返します。 |
<= | 以下の数字は、値がtrueのリターンの右の左以下である場合、値は、左よりか等しい値の右側に小さいかどうかを確認します | (A <= B)がtrueを返します。 |
我々はMySQLのデータテーブルにしたい場合句は非常に便利である指定されたデータを読み出します。
クエリのWHERE句に、主キーを使用しての条件としては非常に高速です。
条件は、テーブル内のすべての一致するレコードを与えられていない場合、クエリはデータを返しません。
コマンドプロンプトからデータを読み込み
我々はw3big_tbl MySQLデータテーブル内のデータを読み取るためにSQLのSELECT文でWHERE句を使用します。
例
次の例では、すべてのレコードをサンジャイ・フィールド値のw3big_author w3big_tblテーブルを読み込みます。
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl WHERE w3big_author='Sanjay'; +-------------+----------------+-----------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql>
WHERE句のMySQLの文字列比較は大文字と小文字を区別しません。 あなたは、文字列の比較は大文字と小文字が区別されるWHERE句を設定するには、BINARYキーワードを使用することができます。
次の例
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl \ WHERE BINARY w3big_author='sanjay'; Empty set (0.02 sec) mysql>
データを読み取るためにPHPスクリプトを使用します
あなたは、データを取得するために、WHERE句をもたらすためにPHPの関数するmysql_query()と同じSQLのSELECTコマンドを使用することができます。
この関数は、PHPの関数は、mysql_fetch_arrayを介してすべてのクエリのデータを出力するように()は、SQLコマンドを実行するために使用されます。
例
テーブルをw3big_tblます次の例では、w3big_authorフィールド値サンジャイ・レコードを返します:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl WHERE w3big_author="Sanjay"'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Tutorial ID :{$row['w3big_id']} <br> ". "Title: {$row['w3big_title']} <br> ". "Author: {$row['w3big_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>