ລາຍການຫົວເລື່ອງ
ວິທີການໃຊ້ສ່ວນ WHERE ໃນ MySQL ? ໄວຍາກອນສຳລັບຫຼາຍເງື່ອນໄຂໃນສ່ວນ WHERE.
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)
ຕົວຢ່າງໃຊ້ ຄຳສຳຄັນ BINARY , ເຊິ່ງມີຄວາມອ່ອນໄຫວຕໍ່ຕົວພິມໃຫຍ່-ນ້ອຍ, ສະນັ້ນ ເງື່ອນໄຂການຄົ້ນຫາ chenweiliang_author='chenweiliang.com' ຈຶ່ງບໍ່ສົ່ງຄືນຂໍ້ມູນໃດໆ.
ອ່ານຂໍ້ມູນໂດຍໃຊ້ PHP script
ທ່ານສາມາດໃຊ້ຟັງຊັນ PHP mysqli_query() ແລະຄໍາສັ່ງ SQL SELECT ດຽວກັນກັບ WHERE clause ເພື່ອເອົາຂໍ້ມູນ.
ຟັງຊັນນີ້ຖືກນໍາໃຊ້ເພື່ອປະຕິບັດຄໍາສັ່ງ SQL ແລະຫຼັງຈາກນັ້ນສົ່ງຂໍ້ມູນທັງຫມົດທີ່ສອບຖາມຜ່ານຟັງຊັນ PHP mysqli_fetch_array().
ຕົວຢ່າງ
ຕົວຢ່າງຕໍ່ໄປນີ້ຈະສົ່ງຄືນບັນທຶກຈາກຕາຕະລາງ chenweiliang_tbl ທີ່ໃຊ້ຄ່າ chenweiliang_author ໃນຊ່ອງ 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);
?>ຫວັງວ່າ ບົດຄວາມ "ວິທີການໃຊ້ MySQL WHERE clause? Syntax ຂອງຫຼາຍເງື່ອນໄຂໃນ WHERE clause" ທີ່ແບ່ງປັນໃນ ບລັອກຂອງ Chen Weiliang ( https://www.chenweiliang.com/ ) ຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນລິ້ງຂອງບົດຄວາມນີ້: https://www.chenweiliang.com/cwl-462.html
