Каталог артыкулаў
База дадзеных MySQLЯк выкарыстоўваць выказванне where? сінтаксіс пункта дзе некалькі ўмоў
MySQL пункт WHERE
Мы ведаем, што для чытання дадзеных з табліцы MySQL трэба выкарыстоўваць аператар SQL SELECT.
Каб умоўна выбраць даныя з табліцы, дадайце сказ WHERE да аператара SELECT.
граматыка
Ніжэй прыводзіцца агульны сінтаксіс аператара SQL SELECT для чытання даных з табліцы даных з выкарыстаннем прапановы WHERE:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- Вы можаце выкарыстоўваць адну або некалькі табліц у аператары запыту, выкарыстоўваючы коскі паміж табліцамі, Раздзяліце і выкарыстоўвайце аператар WHERE, каб задаць умовы запыту.
- Вы можаце задаць любую ўмову ў сказе WHERE.
- Вы можаце задаць адну або некалькі ўмоў з дапамогай І або АБО.
- Прапанову WHERE таксама можна выкарыстоўваць з камандамі SQL DELETE або UPDATE.
- Сказ WHERE падобны на ўмову if у працэдурных мовах і счытвае ўказаныя даныя ў адпаведнасці са значэннем поля ў табліцы MySQL.
Ніжэй прыведзены спіс аператараў, якія можна выкарыстоўваць у сказе WHERE.
Прыклады ў табліцы ніжэй мяркуюць, што A роўна 10, а B роўна 20
| аператар | апісанне | Інстанцыя |
|---|---|---|
| = | Знак роўнасці, правярае, ці роўныя два значэнні, і вяртае ісціну, калі яны роўныя | (A = B) вяртае false. |
| <>, != | Не роўна, праверце, ці роўныя два значэнні, калі не, вярніце ісціну | (A != B) вяртае ісціну. |
| > | Знак больш, праверце, ці большае значэнне злева за значэнне справа, калі значэнне злева большае за значэнне справа, вяртае ісціну | (A > B) вяртае false. |
| < | Знак менш, праверце, ці меншае значэнне злева за значэнне справа, калі значэнне злева меншае за значэнне справа, вярнуць ісціну | (A < B) вяртае ісціну. |
| >= | Знак больш або роўна, праверце, ці большае значэнне злева або роўнае значэнню справа, калі значэнне злева большае або роўнае значэнню справа, вяртае ісціну | (A >= B) вяртае false. |
| <= | Знак менш або роўна, праверце, ці меншае значэнне злева або роўнае значэнню справа, калі значэнне злева меншае або роўнае значэнню справа, вяртае ісціну | (A <= B) вяртае ісціну. |
Прапанова WHERE вельмі карысная, калі мы хочам прачытаць названыя даныя з табліцы даных MySQL.
Выкарыстанне першаснага ключа ў якасці ўмоўнага запыту ў сказе WHERE вельмі хуткае.
Калі па дадзеным крытэрыю ў табліцы няма адпаведных запісаў, запыт не вяртае даных.
чытаць дадзеныя з каманднага радка
Мы будзем выкарыстоўваць пункт WHERE у аператары SQL SELECT для чытання даных у табліцы дадзеных MySQL chenweiliang_tbl:
Інстанцыя
У наступным прыкладзе будуць прачытаны ўсе запісы ў табліцы chenweiliang_tbl, дзе значэнне поля chenweiliang_author роўна Sanjay:
Сказ SQL SELECT WHERE
Параўнанні радкоў у сказе MySQL WHERE неадчувальныя да рэгістра.Вы можаце выкарыстоўваць ключавое слова BINARY, каб вызначыць, што параўнанне радкоў у сказе WHERE адчувальна да рэгістра.
Наступны прыклад:
Ключавое слова BINARY
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' Умова запыту - адсутнасць даных.
Чытайце даныя з дапамогай скрыпту PHP
Вы можаце выкарыстоўваць функцыю PHP mysqli_query() і тую ж каманду SQL SELECT з пунктам WHERE, каб атрымаць дадзеныя.
Гэтая функцыя выкарыстоўваецца для выканання каманд SQL і вываду ўсіх запытаных даных праз функцыю PHP mysqli_fetch_array().
Інстанцыя
Наступны прыклад вернецца з табліцы chenweiliang_tbl з выкарыстаннем значэння поля chenweiliang_author як chenweiliang.com запіс:
Праверка прапановы 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);
?>Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ ) падзяліўся "Як выкарыстоўваць аператар MySQL where? where Clause Multiple Condition Syntax", каб дапамагчы вам.
Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-462.html
