MySQL LIKE-Klausel
Wir wissen, dass die SQL-SELECT-Befehl unter Verwendung der Daten in MySQL zu lesen, und wir können in der WHERE-Klausel der SELECT-Anweisung den angegebenen Datensatz zu erhalten.
Die WHERE-Klausel kann das Gleichheitszeichen (=) verwenden, um die Datenerfassungsbedingungen, wie zum Beispiel "w3big_author = 'Sanjay'" einzustellen.
Aber manchmal müssen wir w3big_author Feld enthält alle Datensätze "jay" Charakter zu bekommen, dann müssen wir SQL LIKE-Klausel zu verwenden Klausel WHERE.
SQL LIKE-Klausel das Prozentzeichen (%) Zeichen mit einem beliebigen Zeichen darzustellen, ähnlich dem UNIX regulären Ausdruck oder ein Sternchen (*).
Wenn Sie nicht das Prozentzeichen (%) verwenden, LIKE-Klausel mit einem Gleichheitszeichen (=) ist der Effekt der gleiche.
Grammatik
Das Folgende ist eine SQL-SELECT-Anweisung die LIKE-Klausel unter Verwendung von Daten aus der Datentabelle allgemeine Syntax zu lesen:
SELECT field1, field2,...fieldN table_name1, table_name2... WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- Sie können jede Bedingung in der WHERE-Klausel angeben.
- Sie können die LIKE-Klausel in der WHERE-Klausel verwenden.
- Sie können die LIKE-Klausel anstelle des Gleichheitszeichen (=) verwenden.
- LIKE wird in der Regel in Verbindung mit%, ähnlich wie bei der Suche nach einer Meta-Zeichen verwendet.
- Sie können mit AND oder OR eine oder mehrere Bedingungen angeben.
- Sie können WHERE ... LIKE-Klausel verwenden, die Bedingung DELETE oder UPDATE-Befehl angeben.
Verwenden Sie LIKE-Klausel in der Eingabeaufforderung
Im Folgenden werden wir die SQL-SELECT-Befehl verwenden WHERE ... LIKE-Klausel Daten aus einer MySQL-Tabellendaten in w3big_tbl zu lesen.
Beispiele
Hier ist, was wir w3big_author Feld "jay" erhalten werden alle Datensätze w3big_tbl Tabelle endet:
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>
Verwenden Sie LIKE-Klausel in PHP-Skript
Sie können die mysql_query PHP-Funktion () und die gleiche SQL-SELECT-Befehl zu bringen, wo ... LIKE Klausel, um die Daten abzurufen.
Diese Funktion wird verwendet, SQL-Befehle auszuführen, dann () zur Ausgabe von Daten für alle Abfragen über PHP-Funktion mysql_fetch_array.
Aber wenn es in SQL DELETE oder UPDATE-Anweisung verwendet wird, wo ... LIKE-Klausel, die Sie nicht brauchen mysql_fetch_array () Funktion zu verwenden.
Beispiele
Hier ist, was wir benutzen PHP-Skript liest w3big_author Feld "jay" Ende aller Datensätze in w3big_tbl Tabelle:
<?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); ?>