ข้อ 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); ?>