詳解MySQL中WHERE子句的用法。本站提示廣大學習愛好者:(詳解MySQL中WHERE子句的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解MySQL中WHERE子句的用法正文
我們曾經看到SQL SELECT敕令來從MySQL表獲得數據。我們可使用一個前提子句WHERE子句中挑選出來的成果。應用WHERE子句,我們可以指定一個選擇的尺度來從表當選擇所需的記載。
語法:
上面是通用的SQL WHERE子句來獲得數據從MySQL表的SELECT敕令的語法:
SELECT field1, field2,...fieldN table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
就像編程說話中的一樣,假如前提的WHERE子句。該子句用於在MySQL的表的字段值與給定值比擬。假如從內部給定值是等於可用字段值在MySQL表,然後前往該行。
這裡是清單的運算符可使用WHERE子句。
假定字段A有值為10和字段B具有的值為20:
WHERE子句長短常有效的,當想獲得的選擇表中的行,特殊是當你應用MySQL的JOIN。JOIN在另外一章中評論辯論。
這是一個罕見的做法是應用主鍵查找記載,使搜刮疾速。
假如給定的前提不相符任何表中的記載,那末查詢不會前往任何行。
從敕令提醒符獲得數據:
這將應用SQL SELECT敕令的WHERE子句,以獲得選擇的數據MySQL表tutorials_tbl
實例:
上面的例子將前往tutorials_tbl表中作者的名字是Sanjay一切記載:
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * from tutorials_tbl WHERE tutorial_author='Sanjay'; +-------------+----------------+-----------------+-----------------+ | tutorial_id | tutorial_title | tutorial_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql>
除非履行LIKE比擬字符串的比擬是不辨別年夜小寫的。可以搜刮辨別年夜小寫,應用BINARY症結字以下。
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> SELECT * from tutorials_tbl \ WHERE BINARY tutorial_author='sanjay'; Empty set (0.02 sec) mysql>
應用PHP劇本獲得數據:
可使用雷同SQL的SELECT敕令的WHERE子句中到PHP的functionmysql_query()中。這個函數是用來履行SQL敕令後,另外一個PHP函數mysql_fetch_array()可以用來獲得一切選定的數據。這個函數前往的行作為一個聯系關系數組,數字數組或二者。這個函數前往FALSE,假如沒有更多的行。
實例:
上面的例子將前往tutorials_tbl表中作者的名字是Sanjay一切記載:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl WHERE tutorial_author="Sanjay"'; //by www.jb51.net mysql_select_db('TUTORIALS'); $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['tutorial_id']} <br> ". "Title: {$row['tutorial_title']} <br> ". "Author: {$row['tutorial_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>