Come utilizzare l'istruzione dove MySQL? dove clausola sintassi condizionale multipla

Come utilizzare la clausola WHERE in MySQL ? Sintassi per condizioni multiple nella clausola WHERE.

MySQL Dove la clausola

Sappiamo usare l'istruzione SQL SELECT per leggere i dati dalla tabella MySQL.

Per selezionare condizionalmente i dati da una tabella, aggiungere una clausola WHERE all'istruzione SELECT.

grammatica

Quella che segue è la sintassi generale di un'istruzione SQL SELECT per leggere i dati da una tabella di dati utilizzando la clausola WHERE:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • È possibile utilizzare una o più tabelle nell'istruzione della query, utilizzando le virgole tra le tabelle, Dividi e usa l'istruzione WHERE per impostare le condizioni della query.
  • È possibile specificare qualsiasi condizione nella clausola WHERE.
  • È possibile specificare una o più condizioni utilizzando AND o OR.
  • La clausola WHERE può essere utilizzata anche con i comandi DELETE o UPDATE di SQL.
  • La clausola WHERE è simile alla condizione if nei linguaggi procedurali e legge i dati specificati in base al valore del campo nella tabella MySQL.

Di seguito è riportato un elenco di operatori che possono essere utilizzati nella clausola WHERE.

Gli esempi nella tabella seguente presuppongono che A sia 10 e B sia 20

OperatoreDescrizioneEsempio
=Segno di uguale, controlla se due valori sono uguali e restituisce true se sono uguali(A = B) restituisce falso.
<>, !=Non uguale, controlla se due valori sono uguali, restituisce vero se non sono uguali(A != B) restituisce vero.
>Segno maggiore di, controlla se il valore a sinistra è maggiore del valore a destra, se il valore a sinistra è maggiore del valore a destra, restituisce true(A > B) restituisce falso.
<Meno di segno, controlla se il valore a sinistra è inferiore al valore a destra, se il valore a sinistra è inferiore al valore a destra, restituisce true(A < B) restituisce vero.
>=Segno maggiore o uguale, controlla se il valore a sinistra è maggiore o uguale al valore a destra, se il valore a sinistra è maggiore o uguale al valore a destra, restituisce true(A >= B) restituisce falso.
<=Segno minore o uguale, controlla se il valore a sinistra è minore o uguale al valore a destra, se il valore a sinistra è minore o uguale al valore a destra, restituisce true(A <= B) restituisce vero.

La clausola WHERE è molto utile se vogliamo leggere i dati specificati dalla tabella dati MySQL.

L'utilizzo della chiave primaria come query condizionale nella clausola WHERE è molto veloce.

Se i criteri specificati non hanno record corrispondenti nella tabella, la query non restituisce alcun dato.


leggere i dati dal prompt dei comandi

Useremo la clausola WHERE nell'istruzione SQL SELECT per leggere i dati nella tabella dati MySQL chenweiliang_tbl:

Esempio

L'esempio seguente leggerà tutti i record nella tabella chenweiliang_tbl in cui il valore del campo chenweiliang_author è Sanjay:

Clausola SQL SELECT WHERE

SELEZIONA * da chenweiliang_tbl DOVE chenweiliang_autore='Chen Weiangblog';

I confronti di stringhe nella clausola WHERE di MySQL non fanno distinzione tra maiuscole e minuscole.È possibile utilizzare la parola chiave BINARY per specificare che i confronti di stringhe nella clausola WHERE fanno distinzione tra maiuscole e minuscole.

Il seguente esempio:

Parola chiave BINARIA

mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com';
Empty set (0.01 sec)
 
mysql> SELECT * from chenweiliang_tbl WHERE BINARY chenweiliang_author='chenweiliang.com';
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | JAVA 教程 | chenweiliang.com | 2016-05-06 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.01 sec)

L'esempio utilizza la parola chiave BINARY , che fa distinzione tra maiuscole e minuscole, quindi la condizione di query chenweiliang_author='chenweiliang.com' non restituisce alcun dato.


Leggi i dati usando lo script PHP

È possibile utilizzare la funzione PHP mysqli_query() e lo stesso comando SQL SELECT con una clausola WHERE per ottenere i dati.

Questa funzione viene utilizzata per eseguire comandi SQL e quindi emettere tutti i dati richiesti tramite la funzione PHP mysqli_fetch_array().

Esempio

L'esempio seguente restituirà i record dalla tabella chenweiliang_tbl che utilizzano il valore chenweiliang_author nella tabella chenweiliang_tbl come chenweiliang.com :

Test della clausola MySQL WHERE:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
// 读取 chenweiliang_author 为 chenweiliang.com 的数据
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl
 WHERE chenweiliang_author="chenweiliang.com"';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL WHERE 子句测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>

发表 评论

您的邮箱地址不会被公开.必填项已用*标注

Scorrere fino a Top