ລາຍການຫົວເລື່ອງ
ວິທີການປະຕິບັດການສອບຖາມ LIKE ໃນ MySQL ? ກົດລະບຽບການນໍາໃຊ້ຂອງຄໍາສັ່ງ LIKE ໃນ ຖານຂໍ້ມູນ MySQL ແມ່ນຫຍັງ?
MySQL LIKE ປະໂຫຍກ
ພວກເຮົາຮູ້ວ່າຈະໃຊ້ຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນໃນ MySQL, ແລະພວກເຮົາສາມາດນໍາໃຊ້ WHERE clause ໃນຄໍາສັ່ງ SELECT ເພື່ອໃຫ້ໄດ້ຮັບບັນທຶກທີ່ລະບຸໄວ້.
ອະນຸສັນຍາ WHERE ສາມາດໃຊ້ເຄື່ອງໝາຍເທົ່າກັບ (=) ເພື່ອກຳນົດເງື່ອນໄຂສຳລັບການດຶງຂໍ້ມູນຄືນ, ເຊັ່ນ "chenweiliang_author = 'chenweiliang.com'".
ແຕ່ບາງຄັ້ງພວກເຮົາຈໍາເປັນຕ້ອງໄດ້ຮັບບັນທຶກທັງຫມົດທີ່ມີພາກສະຫນາມ chenweiliang_author ມີຕົວອັກສອນ "COM", ຫຼັງຈາກນັ້ນພວກເຮົາຈໍາເປັນຕ້ອງໃຊ້ SQL LIKE clause ໃນ WHERE clause.
ຄຳສັ່ງ SQL LIKE ໃຊ້ຕົວອັກສອນ % ເຄື່ອງໝາຍເປີເຊັນເພື່ອສະແດງຕົວອັກສອນໃດໆ, ຄ້າຍຄືກັບເຄື່ອງໝາຍດອກຈັນ * ໃນ UNIX ຫຼື regular expressions.
ຖ້າ ບໍ່ໄດ້ໃຊ້ ເຄື່ອງໝາຍເປີເຊັນ % , ປະໂຫຍກ LIKE ຈະມີຜົນຄືກັນ ກັບເຄື່ອງໝາຍເທົ່າກັບ = .
ໄວຍາກອນ
ຕໍ່ໄປນີ້ແມ່ນ syntax ທົ່ວໄປຂອງຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນຈາກຕາຕະລາງຂໍ້ມູນໂດຍໃຊ້ LIKE clause:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- ທ່ານສາມາດກໍານົດເງື່ອນໄຂໃດໆໃນ WHERE clause.
- ທ່ານສາມາດນໍາໃຊ້ກົດຫມາຍວ່າດ້ວຍກົດຫມາຍວ່າດ້ວຍກົດຫມາຍວ່າດ້ວຍ WHERE.
- ທ່ານສາມາດນໍາໃຊ້ກົດລະບຽບ LIKE ແທນທີ່ຈະເປັນເຄື່ອງຫມາຍເທົ່າທຽມກັນ =.
- LIKE ປົກກະຕິແລ້ວແມ່ນກ່ຽວຂ້ອງກັບ % ໃຊ້ຮ່ວມກັນ, ຄ້າຍຄືກັບການຄົ້ນຫາ metacharacter.
- ທ່ານສາມາດລະບຸເງື່ອນໄຂຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນໂດຍໃຊ້ AND ຫຼື OR.
- ທ່ານສາມາດນໍາໃຊ້ຂໍ້ WHERE...LIKE ໃນຄໍາສັ່ງ DELETE ຫຼື UPDATE ເພື່ອກໍານົດເງື່ອນໄຂ.
ການນໍາໃຊ້ຂໍ້ຄວາມ LIKE ໃນຄໍາສັ່ງ
ຂ້າງລຸ່ມນີ້ພວກເຮົາຈະໃຊ້ປະໂຫຍກ WHERE...LIKE ໃນຄໍາສັ່ງ SQL SELECT ເພື່ອອ່ານຂໍ້ມູນຈາກຕາຕະລາງຂໍ້ມູນ MySQL chenweiliang_tbl.
ຕົວຢ່າງ
ຕໍ່ໄປນີ້ແມ່ນ ລາຍຊື່ບັນທຶກທັງໝົດຈາກຕາຕະລາງ chenweiliang_tbl ທີ່ລົງທ້າຍດ້ວຍ "COM" ໃນຊ່ອງ chenweiliang_author :
SQL UPDATE ຖະແຫຼງການ:
mysql> use chenweiliang; Database changed mysql> SELECT * from chenweiliang_tbl WHERE chenweiliang_author LIKE '%COM'; +-----------+---------------+---------------+-----------------+ | chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | 学习 Java | chenweiliang.com | 2015-05-01 | | 4 | 学习 Python | chenweiliang.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
ການໃຊ້ LIKE clause ໃນ script PHP
ທ່ານສາມາດໃຊ້ຟັງຊັນ PHP mysqli_query() ແລະຄໍາສັ່ງ SQL SELECT ດຽວກັນກັບ WHERE...LIKE clause ເພື່ອເອົາຂໍ້ມູນ.
ຟັງຊັນນີ້ຖືກນໍາໃຊ້ເພື່ອປະຕິບັດຄໍາສັ່ງ SQL ແລະຫຼັງຈາກນັ້ນອອກຂໍ້ມູນສໍາລັບການສອບຖາມທັງຫມົດໂດຍຜ່ານຟັງຊັນ PHP mysqli_fetch_assoc().
ແຕ່ຖ້າມັນເປັນຄໍາສັ່ງ SQL ໂດຍໃຊ້ WHERE...LIKE clause ໃນ DELETE ຫຼື UPDATE, ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຟັງຊັນ mysqli_fetch_array().
ຕົວຢ່າງ
ນີ້ແມ່ນວິທີທີ່ພວກເຮົາໃຊ້ script PHP ເພື່ອອ່ານບັນທຶກທັງຫມົດທີ່ລົງທ້າຍດ້ວຍ COM ໃນພາກສະຫນາມ chenweiliang_author ໃນຕາຕະລາງ chenweiliang_tbl:
MySQL DELETE clause test:
<?
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");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl
WHERE chenweiliang_author LIKE "%COM"';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<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_close($conn);
?>ຫວັງວ່າ ບົດຄວາມ "ວິທີການປະຕິບັດການສອບຖາມ LIKE ໃນ MySQL? ການນຳໃຊ້ຄຳສັ່ງ LIKE ໃນຖານຂໍ້ມູນ MySQL" ທີ່ແບ່ງປັນໃນ ບລັອກຂອງ Chen Weiliang ( https://www.chenweiliang.com/ ) ຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນລິ້ງຂອງບົດຄວາມນີ້: https://www.chenweiliang.com/cwl-474.html
