Latest web development tutorials

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);
?>