ไดเรกทอรีบทความ
MySQL วิธีการสอบถามเช่น?ฐานข้อมูล mysqlการใช้คำสั่งชอบภาษาจีน
MySQL LIKE ข้อ
เราทราบดีว่าต้องใช้คำสั่ง SQL SELECT เพื่ออ่านข้อมูลใน MySQL และเราสามารถใช้คำสั่ง WHERE ในคำสั่ง SELECT เพื่อรับระเบียนที่ระบุได้
เครื่องหมายเท่ากับสามารถใช้ใน WHERE clause = กำหนดเงื่อนไขในการรับข้อมูล เช่น "chenweiliang_author = 'chenweiliang.com'"
แต่บางครั้งเราจำเป็นต้องได้รับระเบียนทั้งหมดที่เขตข้อมูล chenweiliang_author มีอักขระ "COM" เราจึงต้องใช้คำสั่งย่อย SQL LIKE ในคำสั่งย่อย WHERE
การใช้เครื่องหมายเปอร์เซ็นต์ในส่วนคำสั่ง SQL LIKE %อักขระที่ใช้แทนอักขระใดๆ ที่คล้ายกับเครื่องหมายดอกจันใน UNIX หรือนิพจน์ทั่วไป *.
หากไม่มีการใช้เครื่องหมายเปอร์เซ็นต์ %, LIKE ประโยคที่มีเครื่องหมายเท่ากับ = เอฟเฟคก็เหมือนกัน
ไวยากรณ์
ต่อไปนี้คือรูปแบบทั่วไปของคำสั่ง SQL SELECT เพื่ออ่านข้อมูลจากตารางข้อมูลโดยใช้คำสั่งย่อย LIKE:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- คุณสามารถระบุเงื่อนไขใดๆ ในส่วนคำสั่ง WHERE
- คุณสามารถใช้คำสั่ง LIKE ในส่วนคำสั่ง WHERE
- คุณสามารถใช้คำสั่ง LIKE แทนเครื่องหมายเท่ากับ =.
- LIKE มักจะเกี่ยวข้องกับ % ใช้ร่วมกันคล้ายกับการค้นหาเมตาคาแรคเตอร์
- คุณสามารถระบุอย่างน้อยหนึ่งเงื่อนไขโดยใช้ AND หรือ OR
- คุณสามารถใช้ส่วนคำสั่ง WHERE...LIKE ในคำสั่ง DELETE หรือ UPDATE เพื่อระบุเงื่อนไข
การใช้คำสั่ง LIKE ในพรอมต์คำสั่ง
ด้านล่างเราจะใช้ส่วนคำสั่ง WHERE...LIKE ในคำสั่ง SQL SELECT เพื่ออ่านข้อมูลจากตารางข้อมูล MySQL chenweiliang_tbl
ตัวอย่าง
ต่อไปนี้เป็นวิธีที่เราจะได้ฟิลด์ chenweiliang_author ในตาราง chenweiliang_tbl ด้วย COM สำหรับบันทึกทั้งหมดที่ลงท้ายด้วย:
คำสั่ง 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 ในสคริปต์ PHP
คุณสามารถใช้ฟังก์ชัน PHP mysqli_query() และคำสั่ง SQL SELECT เดียวกันกับคำสั่ง WHERE...LIKE เพื่อรับข้อมูล
ฟังก์ชันนี้ใช้เพื่อรันคำสั่ง SQL แล้วส่งออกข้อมูลสำหรับการสืบค้นทั้งหมดผ่านฟังก์ชัน PHP mysqli_fetch_assoc()
แต่ถ้าเป็นคำสั่ง SQL ที่ใช้ WHERE...LIKE clause ใน DELETE หรือ UPDATE ก็ไม่จำเป็นต้องใช้ฟังก์ชัน mysqli_fetch_array()
ตัวอย่าง
ต่อไปนี้คือวิธีที่เราใช้สคริปต์ PHP เพื่ออ่านระเบียนทั้งหมดที่ลงท้ายด้วย COM ในฟิลด์ chenweiliang_author ในตาราง chenweiliang_tbl:
การทดสอบข้อ MySQL DELETE:
<?
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);
?>หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "วิธีการสอบถาม MySQL ชอบ การใช้คำสั่ง like ในฐานข้อมูล MySQL" ซึ่งเป็นประโยชน์กับคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-474.html
