程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 詳解MySQL中WHERE子句的用法

詳解MySQL中WHERE子句的用法

編輯:MySQL綜合教程

詳解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子句前提。然則WHERE子句的SELECT敕令是一個可選部門。
  •     您可使用WHERE子句指定任何前提。
  •     您可以指定一個以上的前提下應用AND或許OR運算符。
  •     一個WHERE子句中可使用的疏散DELETE或UPDATE的SQL敕令指定前提。

就像編程說話中的一樣,假如前提的WHERE子句。該子句用於在MySQL的表的字段值與給定值比擬。假如從內部給定值是等於可用字段值在MySQL表,然後前往該行。

這裡是清單的運算符可使用WHERE子句。

假定字段A有值為10和字段B具有的值為20:

2015526115818593.jpg (850×259)

 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);
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved