詳解MySQL中WHERE子句的用法
我們已經看到SQL SELECT命令來從MySQL表獲取資料。我們可以使用一個條件子句WHERE子句中篩選出來的結果。使用WHERE子句,我們可以指定一個選擇的標準來從表中選擇所需的記錄。
語法:
下面是通用的SQL WHERE子句來獲取資料從MySQL表的SELECT命令的語法:
?
12 |
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:
WHERE子句是非常有用的,當想獲取的選擇表中的行,特別是當你使用MySQL的JOIN。JOIN在另一章中討論。
這是一個常見的做法是使用主鍵查詢記錄,使搜尋快速。
如果給定的條件不符合任何表中的記錄,那麼查詢不會返回任何行。
從命令提示符獲取資料:
這將使用SQL SELECT命令的WHERE子句,以獲取選擇的資料MySQL表tutorials_tbl
例項:
下面的例子將返回tutorials_tbl表中作者的名字是Sanjay所有記錄:
?
12345678910111213 |
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關鍵字如下。
?
123456789 |
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所有記錄:
?
1234567891011121314151617181920212223242526272829303132 |
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2811113/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL中BETWEEN子句的用法詳解MySql
- SQLite中的WHERE子句SQLite
- SQL中 where 子句和having子句中的區別SQL
- MyBatis中的<where>標籤和where子句的區別MyBatis
- MySQL-WHERE子句 以及 邏輯操作符MySql
- LL圖文詳解mysql中with...as用法huxMySqlUX
- CV關於Mysql中ON與Where區別問題詳解buaMySql
- Java 中 this 和 super 的用法詳解Java
- 詳解Vue中watch的高階用法Vue
- 詳解Go regexp包中 ReplaceAllString 的用法Go
- java中printf中用法詳解Java
- AngularJS select中ngOptions用法詳解AngularJSGo
- Oracle行列轉換及pivot子句的用法Oracle
- [轉載] Oracle:start with...connect by子句的用法Oracle
- axios的用法詳解iOS
- 達夢資料庫DM8中WITH子句的簡單用法資料庫
- MySQL 中的事務詳解MySql
- mysql中的left join、right join 、inner join的詳細用法MySql
- MYSQL中replace into的用法MySql
- MySQL中limit的用法MySqlMIT
- mySQL中replace的用法MySql
- ES6中Promise用法詳解Promise
- MySQL Order by 語句用法與最佳化詳解MySql
- struct的匿名用法詳解Struct
- Nmap在實戰中的高階用法(詳解)
- Python3中*和**運算子的用法詳解!Python
- Oralce 使用SQL中的exists 和not exists 用法詳解SQL
- SQLite中的FROM子句SQLite
- SQLite中的SELECT子句SQLite
- StringTie用法詳解
- JSONP用法詳解JSON
- extern用法詳解
- iconfont用法詳解
- Metasploit用法詳解
- Python中dumps, loads dump, load用法詳解Python
- 轉:SVN中trunk,branches,tags用法詳解
- 【解決DML 語句包含不帶 INTO 子句的 OUTPUT 子句】
- MySQL 中 WITH ROLLUP 用法MySql