MySQL кайда билдирүүнү кантип колдонсо болот? мында бир нече шарттардын синтаксиси

MySQL маалымат базасыкайда билдирүүнү кантип колдонсо болот? мында бир нече шарттуу синтаксис

MySQL WHERE пункту

MySQL таблицасынан маалыматтарды окуу үчүн SQL SELECT билдирүүсүн колдонууну билебиз.

Таблицадан шарттуу түрдө маалыматтарды тандоо үчүн, SELECT операторуна WHERE сүйлөмүн кошуңуз.

грамматика

Төмөндө WHERE пунктун колдонуу менен берилиштер таблицасынан маалыматтарды окуу үчүн SQL SELECT операторунун жалпы синтаксиси келтирилген:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • Таблицалардын ортосундагы үтүрлөрдү колдонуп, суроо билдирүүсүндө бир же бир нече таблицаны колдонсоңуз болот, Бөлүп, суроо шарттарын коюу үчүн WHERE операторун колдонуңуз.
  • Сиз WHERE пунктунда каалаган шартты белгилей аласыз.
  • Сиз ЖАНА же ЖЕ колдонуп бир же бир нече шарттарды белгилей аласыз.
  • WHERE пунктун SQLдин DELETE же UPDATE буйруктары менен да колдонсо болот.
  • WHERE пункту процедуралык тилдердеги if шартына окшош жана MySQL таблицасындагы талаанын маанисине ылайык көрсөтүлгөн маалыматтарды окуйт.

Төмөндө WHERE пунктунда колдонула турган операторлордун тизмеси келтирилген.

Төмөндөгү таблицадагы мисалдар А 10 жана В 20 деп болжолдойт

операторсүрөттөөInstance
=Барагай белгиси, эки маанинин барабар экендигин текшерет жана алар барабар болсо, чындыкты кайтарат(A = B) жалган кайтарат.
<>, !=Тең эмес, эки маани барабар экендигин текшериңиз, эгерде алар бирдей эмес болсо, чындыкты кайтарыңыз(A != B) чындыкты кайтарат.
>Белгиден чоңу, сол жактагы маани оң жактагы мааниден чоңураак экенин текшериңиз, эгер сол жактагы маани оң жактагы мааниден чоңураак болсо, чындыкты кайтарыңыз(A > B) жалган кайтарат.
<Белгиден азыраак, сол жактагы маани оң жактагы мааниден аз экенин текшериңиз, эгер сол жактагы маани оң жактагы мааниден аз болсо, чындыкты кайтарыңыз(A <B) чындыкты кайтарат.
>=Чоң же барабар белгиси, сол жактагы маани оң жактагы мааниден чоң же барабар экенин текшериңиз, сол жактагы маани оң жактагы мааниден чоң же барабар болсо, чындыкты кайтарыңыз(A >= B) жалган кайтарат.
<=Аз же барабар белгиси, сол жактагы маани оң жактагы мааниден кичине же барабар экенин текшериңиз, сол жактагы маани оң жактагы мааниден кичине же барабар болсо, чындыкты кайтарыңыз(A <= B) чындыкты кайтарат.

Эгерде биз MySQL маалыматтар таблицасынан көрсөтүлгөн маалыматтарды окугубуз келсе, WHERE пункту абдан пайдалуу.

Негизги ачкычты шарттуу суроо катары WHERE пунктунда колдонуу абдан тез.

Эгерде берилген критерийлерде таблицада эч кандай дал келген жазуулар жок болсо, суроо эч кандай маалыматтарды кайтарбайт.


буйрук сабынан маалыматтарды окуу

MySQL берилиштер таблицасында chenweiliang_tbl маалыматтарды окуу үчүн SQL SELECT билдирүүсүндөгү WHERE пунктун колдонобуз:

Instance

Төмөнкү мисал chenweiliang_tbl таблицасындагы бардык жазууларды окуйт, мында chenweiliang_author талаасынын мааниси Санжай болуп саналат:

SQL SELECT WHERE пункту

SELECT * чейин chenweiliang_tbl КАЙДА chenweiliang_author="Чен Вейлян博客";

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() функциясы аркылуу бардык суралган маалыматтарды чыгаруу үчүн колдонулат.

Instance

Төмөнкү мисал 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 кайда билдирүүнү кантип колдонуу керек? Кайсы пункттун бир нече шартынын синтаксиси", сизге жардам берүү үчүн.

Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-462.html

Акыркы жаңылыктарды алуу үчүн Чен Вейляндын блогунун Telegram каналына кош келиңиз!

🔔 Каналдын башкы каталогунан баалуу "ChatGPT Content Marketing AI куралын колдонуу боюнча колдонмону" биринчилерден болуп алыңыз! 🌟
📚 Бул колдонмо чоң баалуулуктарды камтыйт, 🌟Бул сейрек кездешүүчү мүмкүнчүлүк, аны өткөрүп жибербеңиз! ⏰⌛💨
Бөлүшүп, жакса лайк!
Сиздин бөлүшүүңүз жана лайктарыңыз биздин үзгүлтүксүз мотивациябыз!

 

发表 评论

Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалар колдонулат * 标注

өйдө сыдырыңыз