Артицле Дирецтори
Како се користи WHERE клаузула у MySQL-у ? Синтакса за више услова у WHERE клаузули.
МиСКЛ Где клаузула
Знамо да користимо СКЛ СЕЛЕЦТ наредбу за читање података из МиСКЛ табеле.
Да бисте условно изабрали податке из табеле, додајте клаузулу ВХЕРЕ наредби СЕЛЕЦТ.
граматика
Следеће је општа синтакса СКЛ СЕЛЕЦТ наредбе за читање података из табеле података помоћу клаузуле ВХЕРЕ:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Можете да користите једну или више табела у изјави упита, користите зарезе између табела, Раздвојите и користите наредбу ВХЕРЕ да поставите услове упита.
- Можете навести било који услов у клаузули ВХЕРЕ.
- Можете да наведете један или више услова користећи АНД или ОР.
- Клаузула ВХЕРЕ се такође може користити са СКЛ-овим ДЕЛЕТЕ или УПДАТЕ командама.
- Клаузула ВХЕРЕ је слична ако услову у програмском језику, читајући наведене податке према вредности поља у МиСКЛ табели.
Следи листа оператора који се могу користити у клаузули ВХЕРЕ.
Примери у табели испод претпостављају да је А 10, а Б 20
| оператер | Опис | Инстанца |
|---|---|---|
| = | Знак једнако, проверава да ли су две вредности једнаке и враћа тачно ако су једнаке | (А = Б) враћа нетачно. |
| <>, != | Није једнако, проверите да ли су две вредности једнаке, вратите труе ако нису једнаке | (А != Б) враћа тачно. |
| > | Знак веће од, проверите да ли је вредност са леве стране већа од вредности са десне стране, ако је вредност са леве стране већа од вредности са десне стране, вратите тачно | (А > Б) враћа фалсе. |
| < | Мање од знака, проверите да ли је вредност са леве стране мања од вредности са десне стране, ако је вредност са леве стране мања од вредности са десне стране, врати труе | (А < Б) враћа тачно. |
| >= | Знак веће или једнако, проверите да ли је вредност на левој страни већа или једнака вредности на десној страни, ако је вредност на левој страни већа или једнака вредности са десне стране, врати труе | (А >= Б) враћа нетачно. |
| <= | Знак мање или једнако, проверите да ли је вредност са леве стране мања или једнака вредности са десне стране, ако је вредност на левој страни мања или једнака вредности са десне стране, врати труе | (А <= Б) враћа тачно. |
Клаузула ВХЕРЕ је веома корисна ако желимо да прочитамо наведене податке из МиСКЛ табеле података.
Коришћење примарног кључа као условног упита у клаузули ВХЕРЕ је веома брзо.
Ако дати критеријуми немају ниједан подударни запис у табели, упит не враћа податке.
читање података из командне линије
Користићемо клаузулу ВХЕРЕ у СКЛ СЕЛЕЦТ изјави да прочитамо податке у МиСКЛ табели података цхенвеилианг_тбл:
Инстанца
Следећи пример ће прочитати све записе у табели цхенвеилианг_тбл где је вредност поља цхенвеилианг_аутхор Сањаи:
СКЛ СЕЛЕЦТ ВХЕРЕ клаузула
Поређења стрингова у клаузули ВХЕРЕ МиСКЛ-а не разликују велика и мала слова.Можете користити кључну реч БИНАРИ да наведете да су поређења стрингова у клаузули ВХЕРЕ осетљива на велика и мала слова.
Следећи пример:
БИНАРНА кључна реч
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)
Пример користи кључну реч BINARY , која разликује велика и мала слова, тако да услов упита chenweiliang_author='chenweiliang.com' не враћа никакве податке.
Читање података помоћу ПХП скрипте
Можете користити ПХП функцију мискли_куери() и исту СКЛ команду СЕЛЕЦТ са клаузулом ВХЕРЕ да бисте добили податке.
Ова функција се користи за извршавање СКЛ команди, а затим за излаз свих тражених података преко ПХП функције мискли_фетцх_арраи().
Инстанца
Следећи пример ће вратити записе из табеле chenweiliang_tbl који користе вредност chenweiliang_author у табели chenweiliang_tbl као chenweiliang.com :
МиСКЛ ВХЕРЕ тест клаузуле:
<?
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);
?>Надам се да ће вам чланак „Како користити MySQL WHERE клаузулу? Синтакса вишеструких услова у WHERE клаузули“ објављен на блогу Чен Веилианг-а ( https://www.chenweiliang.com/ ) бити од помоћи.
Слободно поделите линк овог чланка: https://www.chenweiliang.com/cwl-462.html
