ລາຍການຫົວເລື່ອງ
ຖານຂໍ້ມູນ MySQLໃຊ້ຄຳຖະແຫຼງທີ່ໃສ? ບ່ອນທີ່ syntax ຫຼາຍເງື່ອນໄຂ
MySQL WHERE ຂໍ້
ພວກເຮົາຮູ້ວ່າຈະໃຊ້ຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນຈາກຕາຕະລາງ MySQL.
ເພື່ອເລືອກຂໍ້ມູນຕາມເງື່ອນໄຂຈາກຕາຕະລາງ, ໃຫ້ເພີ່ມ WHERE clause ໃສ່ຄຳສັ່ງ SELECT.
ໄວຍາກອນ
ຕໍ່ໄປນີ້ແມ່ນ syntax ທົ່ວໄປຂອງຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນຈາກຕາຕະລາງຂໍ້ມູນໂດຍໃຊ້ WHERE clause:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
- ທ່ານສາມາດນໍາໃຊ້ຫນຶ່ງຫຼືຫຼາຍຕາຕະລາງໃນຄໍາຖະແຫຼງການສອບຖາມ, ການນໍາໃຊ້ເຄື່ອງຫມາຍຈຸດລະຫວ່າງຕາຕະລາງ, ແຍກ, ແລະໃຊ້ຄໍາຖະແຫຼງທີ່ WHERE ເພື່ອກໍານົດເງື່ອນໄຂການສອບຖາມ.
- ທ່ານສາມາດກໍານົດເງື່ອນໄຂໃດໆໃນ WHERE clause.
- ທ່ານສາມາດລະບຸເງື່ອນໄຂຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນໂດຍໃຊ້ AND ຫຼື OR.
- ຂໍ້ WHERE ຍັງສາມາດຖືກນໍາໃຊ້ກັບຄໍາສັ່ງ DELETE ຫຼື UPDATE ຂອງ SQL.
- ຂໍ້ WHERE ແມ່ນຄ້າຍຄືກັນກັບເງື່ອນໄຂ if ໃນພາສາຂັ້ນຕອນ, ແລະອ່ານຂໍ້ມູນທີ່ລະບຸໄວ້ຕາມຄ່າພາກສະຫນາມໃນຕາຕະລາງ MySQL.
ຕໍ່ໄປນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງຕົວປະຕິບັດການທີ່ສາມາດຖືກນໍາໃຊ້ໃນ WHERE clause.
ຕົວຢ່າງໃນຕາຕະລາງຂ້າງລຸ່ມນີ້ສົມມຸດວ່າ A ແມ່ນ 10 ແລະ B ແມ່ນ 20
ຜູ້ປະກອບການ | ຄຳ ອະທິບາຍ | ຕົວຢ່າງ |
---|---|---|
= | ເຄື່ອງຫມາຍເທົ່າກັບ, ກວດເບິ່ງວ່າສອງຄ່າເທົ່າທຽມກັນ, ແລະກັບຄືນຄວາມຈິງຖ້າພວກເຂົາເທົ່າທຽມກັນ | (A = B) ກັບຄືນ false. |
<>, != | ບໍ່ເທົ່າທຽມກັນ, ກວດເບິ່ງວ່າສອງຄ່າເທົ່າທຽມກັນ, ກັບຄືນຄວາມຈິງຖ້າພວກເຂົາບໍ່ເທົ່າທຽມກັນ | (A != B) ກັບຄືນຄວາມຈິງ. |
> | ໃຫຍ່ກວ່າເຄື່ອງໝາຍ, ກວດເບິ່ງວ່າຄ່າທາງຊ້າຍໃຫຍ່ກວ່າຄ່າທາງຂວາຫຼືບໍ່, ຖ້າຄ່າທາງຊ້າຍໃຫຍ່ກວ່າຄ່າທາງຂວາ, ໃຫ້ກັບຄືນຄວາມຈິງ. | (A > B) ສົ່ງຄືນເປັນຜິດ. |
< | ໜ້ອຍກວ່າເຄື່ອງໝາຍ, ກວດເບິ່ງວ່າຄ່າຢູ່ເບື້ອງຊ້າຍແມ່ນໜ້ອຍກວ່າຄ່າຢູ່ເບື້ອງຂວາຫຼືບໍ່, ຖ້າຄ່າຢູ່ເບື້ອງຊ້າຍໜ້ອຍກວ່າຄ່າຢູ່ເບື້ອງຂວາ, ໃຫ້ກັບຄືນຄວາມຈິງ. | (A < B) ກັບຄືນຄວາມຈິງ. |
>= | ສັນຍາລັກໃຫຍ່ກວ່າຫຼືເທົ່າກັບ, ກວດເບິ່ງວ່າຄ່າຢູ່ເບື້ອງຊ້າຍແມ່ນໃຫຍ່ກວ່າຫຼືເທົ່າກັບຄ່າທາງຂວາ, ຖ້າຄ່າຢູ່ເບື້ອງຊ້າຍແມ່ນໃຫຍ່ກວ່າຫຼືເທົ່າກັບຄ່າດ້ານຂວາ, ໃຫ້ກັບຄືນຄວາມຈິງ. | (A >= B) ກັບຄືນ false. |
<= | ເຄື່ອງຫມາຍນ້ອຍກວ່າຫຼືເທົ່າກັບ, ກວດເບິ່ງວ່າຄ່າທາງຊ້າຍແມ່ນຫນ້ອຍກວ່າຫຼືເທົ່າກັບຄ່າດ້ານຂວາ, ຖ້າຄ່າຢູ່ເບື້ອງຊ້າຍແມ່ນຫນ້ອຍກວ່າຫຼືເທົ່າກັບຄ່າດ້ານຂວາ, ໃຫ້ກັບຄືນຄວາມຈິງ. | (A <= B) ກັບຄືນຄວາມຈິງ. |
ປະໂຫຍກ WHERE ແມ່ນມີປະໂຫຍດຫຼາຍຖ້າພວກເຮົາຕ້ອງການອ່ານຂໍ້ມູນທີ່ກໍານົດໄວ້ຈາກຕາຕະລາງຂໍ້ມູນ MySQL.
ການນໍາໃຊ້ກະແຈຫຼັກເປັນການສອບຖາມເງື່ອນໄຂໃນຂໍ້ WHERE ແມ່ນໄວຫຼາຍ.
ຖ້າເງື່ອນໄຂທີ່ລະບຸບໍ່ມີບັນທຶກທີ່ກົງກັນໃນຕາຕະລາງ, ຄໍາຖາມຈະສົ່ງຄືນຂໍ້ມູນທີ່ບໍ່ມີ.
ອ່ານຂໍ້ມູນຈາກຄໍາສັ່ງຄໍາສັ່ງ
ພວກເຮົາຈະໃຊ້ WHERE clause ໃນຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນໃນຕາຕະລາງຂໍ້ມູນ MySQL chenweiliang_tbl:
ຕົວຢ່າງ
ຕົວຢ່າງຕໍ່ໄປນີ້ຈະອ່ານບັນທຶກທັງຫມົດໃນຕາຕະລາງ chenweiliang_tbl ທີ່ຄ່າຂອງພາກສະຫນາມ chenweiliang_author ແມ່ນ Sanjay:
SQL SELECT WHERE clause
ການປຽບທຽບສະຕຣິງໃນ MySQL's WHERE clause ແມ່ນບໍ່ມີຕົວຕົນ.ທ່ານສາມາດນໍາໃຊ້ຄໍາຫລັກ BINARY ເພື່ອກໍານົດວ່າການປຽບທຽບສະຕຣິງໃນ WHERE clause ແມ່ນຕົວພິມນ້ອຍໃຫຍ່.
ຕົວຢ່າງຕໍ່ໄປນີ້:
ຄໍາສໍາຄັນ 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 script
ທ່ານສາມາດໃຊ້ຟັງຊັນ PHP mysqli_query() ແລະຄໍາສັ່ງ SQL SELECT ດຽວກັນກັບ WHERE clause ເພື່ອເອົາຂໍ້ມູນ.
ຟັງຊັນນີ້ຖືກນໍາໃຊ້ເພື່ອປະຕິບັດຄໍາສັ່ງ SQL ແລະຫຼັງຈາກນັ້ນສົ່ງຂໍ້ມູນທັງຫມົດທີ່ສອບຖາມຜ່ານຟັງຊັນ PHP mysqli_fetch_array().
ຕົວຢ່າງ
ຕົວຢ່າງຕໍ່ໄປນີ້ຈະກັບຄືນມາຈາກຕາຕະລາງ chenweiliang_tbl ໂດຍໃຊ້ຄ່າພາກສະຫນາມ chenweiliang_author ເປັນ chenweiliang.com ບັນທຶກຂອງ:
MySQL WHERE clause ການທົດສອບ:
<? 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); ?>
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "ວິທີການໃຊ້ MySQL where statement? ບ່ອນທີ່ Syntax ຫຼາຍເງື່ອນໄຂ, ເພື່ອຊ່ວຍເຈົ້າ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-462.html
ຍິນດີຕ້ອນຮັບສູ່ຊ່ອງ Telegram ຂອງບລັອກຂອງ Chen Weiliang ເພື່ອຮັບອັບເດດຫຼ້າສຸດ!
📚ຄູ່ມືນີ້ມີຄຸນຄ່າອັນມະຫາສານ, 🌟ນີ້ເປັນໂອກາດທີ່ຫາຍາກ, ຢ່າພາດມັນ! ⏰⌛💨
Share and like ຖ້າມັກ!
ການແບ່ງປັນແລະການຖືກໃຈຂອງທ່ານແມ່ນການຊຸກຍູ້ຢ່າງຕໍ່ເນື່ອງຂອງພວກເຮົາ!