Чӣ тавр MySQL-ро дар куҷо истифода бурдан мумкин аст? ки дар он банди чанд синтаксиси шартӣ

Чӣ тавр банди WHERE-ро дар MySQL истифода бурдан мумкин аст ? Синтаксиси шартҳои сершумор дар банди WHERE.

MySQL банди WHERE

Мо медонем, ки изҳороти SQL SELECT -ро барои хондани маълумот аз ҷадвали MySQL истифода барем.

Барои шартан интихоб кардани маълумот аз ҷадвал, ба баёнияи SELECT банди WHERE илова кунед.

грамматика

Дар зер синтаксиси умумии изҳороти SQL SELECT барои хондани маълумот аз ҷадвали додаҳо бо истифода аз банди WHERE оварда шудааст:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Шумо метавонед як ё якчанд ҷадвалҳоро дар изҳороти дархост бо истифода аз вергул байни ҷадвалҳо истифода баред, Тақсим кунед ва баёнияи WHERE-ро барои муқаррар кардани шартҳои дархост истифода баред.
  • Шумо метавонед ягон шартро дар банди WHERE муайян кунед.
  • Шумо метавонед як ё якчанд шартҳоро бо истифода аз AND ё Ё муайян кунед.
  • Ҷумлаи WHERE инчунин метавонад бо фармонҳои DELETE ё UPDATE SQL истифода шавад.
  • Ҷумлаи WHERE ба шарти if дар забони барномасозӣ шабоҳат дорад, ки мутолиаи маълумоти муайяншуда мувофиқи арзиши майдон дар ҷадвали MySQL мебошад.

Дар зер рӯйхати операторҳое оварда шудааст, ки метавонанд дар банди WHERE истифода шаванд.

Намунаҳои дар ҷадвали зер овардашуда тахмин мекунанд, ки A 10 ва B 20 аст

оператортавсифмисол
=Аломати баробар, баробар будани ду арзишро тафтиш мекунад ва агар онҳо баробар бошанд, ҳақиқиро бармегардонад(A = B) бардурӯғ бармегардонад.
<>, !=Баробар нест, санҷед, ки ду арзиш баробаранд, агар онҳо баробар набошанд, ҳақиқиро баргардонед(A != B) ҳақиқиро бармегардонад.
>Бузургтар аз аломат, санҷед, ки оё арзиши дар чап аз арзиши тарафи рост бузургтар аст, агар қимати чап аз арзиши тарафи рост бузургтар бошад, ҳақиқиро баргардонед(A > B) бардурӯғ бармегардонад.
<Камтар аз аломат, санҷед, ки арзиши дар тарафи чап аз арзиши тарафи рост камтар аст, агар қимати чап аз арзиши тарафи рост камтар бошад, ҳақиқиро баргардонед(A <B) ҳақиқатро бармегардонад.
>=Аломати калонтар ё баробар, санҷед, ки арзиши дар тарафи чап аз арзиши тарафи рост зиёд ё баробар аст, агар арзиши дар тарафи чап аз арзиши дар тарафи рост зиёд ё баробар бошад, ҳақиқиро баргардонед(A >= B) бардурӯғ бар мегардонад.
<=Аломати камтар ё баробар, санҷед, ки арзиши дар тарафи чап аз арзиши тарафи рост камтар ё баробар аст, агар қимати чап аз арзиши рост камтар ё баробар бошад, ҳақиқиро баргардонед(A <= B) ҳақиқиро бармегардонад.

Ҷумлаи WHERE хеле муфид аст, агар мо мехоҳем маълумоти муайяншударо аз ҷадвали додаҳои MySQL хонем.

Истифодаи калиди ибтидоӣ ҳамчун дархости шартӣ дар банди WHERE хеле зуд аст.

Агар меъёрҳои додашуда дар ҷадвал ягон сабти мувофиқ надошта бошанд, дархост ягон маълумотро барнамегардонад.


маълумотро аз сатри фармон хонед

Мо банди WHERE-ро дар изҳороти SQL SELECT барои хондани маълумот дар ҷадвали додаҳои MySQL chenweiliang_tbl истифода хоҳем кард:

мисол

Мисоли зерин ҳамаи сабтҳоро дар ҷадвали chenweiliang_tbl мехонад, ки дар он арзиши майдони chenweiliang_author Sanjay аст:

банди SQL SELECT WHERE

SELECT * аз chenweiliang_tbl НОҲИЯИ ПАНҶ chenweiliang_author=''Чен Вейлян博客'';

Муқоисаи сатрҳо дар банди WHERE-и MySQL ба ҳарфҳо ҳассос нестанд.Шумо метавонед калимаи калидии 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_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);
?>

Умедворем, ки мақолаи "Чӣ тавр банди MySQL WHERE-ро истифода бурдан мумкин аст? Синтаксиси шартҳои гуногун дар банди WHERE", ки дар блоги Чен Вейлианг ( https://www.chenweiliang.com/ ) мубодила шудааст, барои шумо муфид хоҳад буд.

Озодона истиноди ин мақоларо мубодила кунед: https://www.chenweiliang.com/cwl-462.html

Барои кушодани ҳилаҳои пинҳонии бештар🔑, хуш омадед ба канали мо дар Telegram ҳамроҳ шавед!

Поделиться ва лайк, агар ба шумо писанд омад! Саҳмияҳо ва лайкҳои шумо ангезаи доимии мо мебошанд!

 

发表 评论

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

Акс аз бойгонӣ