Latest web development tutorials

ข้อ MySQL LIKE

เรารู้ว่าการใช้คำสั่ง SQL เลือกในการอ่านข้อมูลใน MySQL และเราสามารถใช้ในคำสั่ง WHERE ของคำสั่ง SELECT ที่จะได้รับการบันทึกที่ระบุ

ข้อที่สามารถใช้เครื่องหมายเท่ากับ (=) เพื่อกำหนดเงื่อนไขการเก็บข้อมูลเช่น "w3big_author = 'แซนเจย์"

แต่บางครั้งเราจำเป็นต้องได้รับข้อมูล w3big_author มีระเบียนทั้งหมด "เจย์" ตัวอักษรแล้วเราจำเป็นต้องใช้ประโยค SQL LIKE สั่ง WHERE

SQL LIKE ข้อโดยใช้เครื่องหมายเปอร์เซ็นต์ (%) ตัวละครที่จะเป็นตัวแทนของตัวอักษรใด ๆ คล้ายกับการแสดงออกปกติ UNIX หรือดอกจัน (*)

ถ้าคุณไม่ได้ใช้เครื่องหมายเปอร์เซ็นต์ (%) เช่นข้อที่มีเครื่องหมายเท่ากับ (=) ผลที่ได้คือเดียวกัน

ไวยากรณ์

ต่อไปนี้เป็นคำสั่ง SQL เลือกโดยใช้ประโยคชอบที่จะอ่านข้อมูลจากไวยากรณ์ทั่วไปตารางข้อมูล:

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • คุณสามารถระบุเงื่อนไขใด ๆ ในอนุประโยคของตำแหน่ง
  • คุณสามารถใช้ประโยคเหมือนในอนุประโยคของตำแหน่ง
  • คุณสามารถใช้ข้อ LIKE แทนของเครื่องหมายเท่ากับ (=)
  • LIKE โดยทั่วไปจะใช้ร่วมกับ% คล้ายกับการค้นหาสำหรับการเมตาตัวอักษร
  • คุณสามารถใช้และหรือหรือเพื่อระบุเงื่อนไขอย่างน้อยหนึ่ง
  • คุณสามารถใช้ WHERE ... เหมือนข้อเพื่อระบุเงื่อนไขลบหรือคำสั่ง UPDATE

ใช้ประโยคเหมือนในพร้อมรับคำสั่ง

ด้านล่างเราจะใช้คำสั่ง SQL เลือกตำแหน่งที่ ... ข้อชอบที่จะอ่านข้อมูลจากตารางข้อมูลใน MySQL w3big_tbl

ตัวอย่าง

นี่คือสิ่งที่เราจะได้รับข้อมูล w3big_author ที่ "เจ" สิ้นสุดระเบียนทั้งหมดตาราง w3big_tbl:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use w3big;
Database changed
mysql> SELECT * from w3big_tbl 
    -> WHERE w3big_author LIKE '%jay';
+-------------+----------------+-----------------+-----------------+
| w3big_id | w3big_title | w3big_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

ใช้อยู่เช่นประโยคหนึ่งใน PHP สคริปต์

คุณสามารถใช้ฟังก์ชั่น PHP mysql_query () และเช่นเดียวกันคำสั่ง SQL SELECT เพื่อนำ WHERE ... เหมือนข้อเพื่อดึงข้อมูล

ฟังก์ชั่นนี้จะใช้ในการรันคำสั่ง SQL แล้ว () เพื่อแสดงผลข้อมูลสำหรับการค้นหาทั้งหมดที่ผ่านการ mysql_fetch_array ฟังก์ชัน PHP

แต่ถ้ามันถูกนำมาใช้ใน SQL ลบหรือคำสั่ง UPDATE WHERE ... เหมือนข้อที่คุณไม่จำเป็นต้องใช้ mysql_fetch_array () ฟังก์ชัน

ตัวอย่าง

นี่คือสิ่งที่เราจะใช้สคริปต์ PHP อ่านข้อมูล w3big_author ที่ "เจย์" ตอนจบของระเบียนทั้งหมดในตาราง w3big_tbl:

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT w3big_id, w3big_title, 
               w3big_author, submission_date
        FROM w3big_tbl
        WHERE w3big_author LIKE "%jay%"';

mysql_select_db('w3big');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Tutorial ID :{$row['w3big_id']}  <br> ".
         "Title: {$row['w3big_title']} <br> ".
         "Author: {$row['w3big_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>