مقالې لارښود
د MySQL ډیټابیسد کوم ځای بیان څنګه کارول کیږي؟ چیرې چې د څو شرطي ترکیب بندول
مای WHERE فقره
موږ پوهیږو چې د MySQL جدول څخه د معلوماتو لوستلو لپاره د SQL SELECT بیان وکاروو.
په مشروط ډول د میز څخه ډاټا غوره کولو لپاره، د انتخاب بیان ته د WHERE بند اضافه کړئ.
ګرامر
د WHERE بند په کارولو سره د ډیټا جدول څخه ډیټا لوستلو لپاره لاندې د SQL SELECT بیان عمومي ترکیب دی:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- تاسو کولی شئ د پوښتنو بیان کې یو یا څو جدولونه وکاروئ، د میزونو تر منځ د کوما په کارولو سره, تقسیم کړئ، او د پوښتنې شرایط تنظیم کولو لپاره د WHERE بیان وکاروئ.
- تاسو کولی شئ د WHERE په بند کې هر ډول شرایط مشخص کړئ.
- تاسو کولی شئ د AND یا OR په کارولو سره یو یا څو شرایط مشخص کړئ.
- د WHERE بند د SQL د DELETE یا UPDATE کمانډونو سره هم کارول کیدی شي.
- د WHERE بند د طرزالعمل په ژبو کې د if حالت سره ورته دی، او د MySQL جدول کې د ساحې ارزښت سره سم مشخص شوي ډاټا لوستل کوي.
لاندې د آپریټرانو لیست دی چې د WHERE بند کې کارول کیدی شي.
په لاندې جدول کې مثالونه داسې انګیرل کیږي چې A 10 دی او B 20 دی
چلوونکی | 描述 | مثال |
---|---|---|
= | د مساوي نښه، چک کوي چې آیا دوه ارزښتونه مساوي دي، او ریښتیا بیرته راستنیږي که دوی مساوي وي | (A = B) باطل بیرته راګرځي. |
<>، != | مساوي ندي، وګورئ چې دوه ارزښتونه مساوي دي، ریښتیا بیرته راشئ که دوی مساوي نه وي | (A!= B) ریښتیا راګرځي. |
> | د نښان څخه لوی، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه لوی دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی وي، ریښتیا بیرته راستانه کړئ | (A > B) غلط راګرځي. |
< | د نښان څخه لږ، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه کم دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه کم وي، ریښتیا بیرته راستانه کړئ | (A < B) ریښتیا بیرته راګرځي. |
>= | څخه لوی یا مساوي نښه، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی یا مساوي دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه لوی یا مساوي وي، ریښتیا بیرته راستانه کړئ | (A >= B) غلط راګرځي. |
<= | د کم یا مساوي نښه، وګورئ چې آیا د کیڼ اړخ ارزښت د ښي خوا له ارزښت څخه کم یا مساوي دی، که د کیڼ اړخ ارزښت د ښي اړخ ارزښت څخه کم یا مساوي وي، ریښتیا بیرته راستانه کړئ | (A <= B) ریښتیا بیرته راګرځي. |
د WHERE بند خورا ګټور دی که موږ غواړو د MySQL ډیټا جدول څخه ټاکل شوي ډاټا ولولو.
د WHERE بند کې د مشروط پوښتنې په توګه د لومړني کیلي کارول خورا ګړندي دي.
که چیرې ورکړل شوي معیارونه په جدول کې کوم ورته ریکارډونه ونه لري، پوښتنه هیڅ معلومات نه راوړي.
د کمانډ پرامپټ څخه ډاټا ولولئ
موږ به د مای ایس کیو ایل ډیټا جدول chenweiliang_tbl کې د معلوماتو لوستلو لپاره د SQL SELECT بیان کې WHERE بند وکاروو:
مثال
لاندې مثال به د chenweiliang_tbl جدول کې ټول ریکارډونه ولولي چیرې چې د chenweiliang_author ساحې ارزښت سنجی دی:
د SQL انتخاب چیرته بنده
د مای ایس کیو ایل د 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)
په مثال کې کارول کیږي بائنری کلیدي کلمه، د قضیې حساس دی، نو chenweiliang_author='chenweiliang.com' د پوښتنې حالت هیڅ معلومات نلري.
د پی ایچ پی سکریپټ په کارولو سره ډاټا ولولئ
تاسو کولی شئ د معلوماتو ترلاسه کولو لپاره د PHP فنکشن mysqli_query() او ورته SQL SELECT کمانډ د WHERE بند سره وکاروئ.
دا فنکشن د SQL کمانډونو اجرا کولو لپاره کارول کیږي او بیا د PHP فنکشن mysqli_fetch_array () له لارې ټول پوښتل شوي معلومات تولیدوي.
مثال
لاندې مثال به د chenweiliang_tbl جدول څخه د chenweiliang_author ساحې ارزښت په کارولو سره بیرته راستانه شي chenweiliang.com ریکارډ:
MySQL چیرته د بند ازموینه:
<? 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); ?>
امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک کړل "د مای ایس کیو ایل بیان څنګه وکاروئ چیرې؟ چیرې چې د څو شرطونو ترکیب بند کړئ"، ستاسو سره د مرستې لپاره.
د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-462.html
د وروستي تازه معلوماتو ترلاسه کولو لپاره د چن ویلیانګ بلاګ ټیلیګرام چینل ته ښه راغلاست!
📚 دا لارښود لوی ارزښت لري، 🌟دا یو نادر فرصت دی، له لاسه مه ورکوئ! ⏰⌛💨
که مو خوښه شوه لایک او شریک کړئ!
ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!