MariaDB - Wie Klausel

Die WHERE-Klausel bietet eine Möglichkeit, Daten abzurufen, wenn eine Operation eine genaue Übereinstimmung verwendet. In Situationen, in denen mehrere Ergebnisse mit gemeinsamen Merkmalen erforderlich sind, kann dieLIKE Klausel ermöglicht einen breiten Mustervergleich.

Eine LIKE-Klausel prüft auf eine Musterübereinstimmung und gibt ein wahres oder falsches zurück. Die zum Vergleich verwendeten Muster akzeptieren die folgenden Platzhalterzeichen: "%", das der Anzahl der Zeichen (0 oder mehr) entspricht; und "_", das einem einzelnen Zeichen entspricht. Das Platzhalterzeichen "_" stimmt nur mit Zeichen innerhalb seines Satzes überein. Dies bedeutet, dass lateinische Zeichen ignoriert werden, wenn ein anderer Satz verwendet wird. Bei den Übereinstimmungen wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden, wobei zusätzliche Einstellungen für die Groß- und Kleinschreibung erforderlich sind.

Eine NOT LIKE-Klausel ermöglicht das Testen der entgegengesetzten Bedingung, ähnlich wie die not Operator.

Wenn der Anweisungsausdruck oder das Anweisungsmuster NULL ergibt, ist das Ergebnis NULL.

Überprüfen Sie die unten angegebene allgemeine LIKE-Klauselsyntax.

SELECT field, field2,... FROM table_name, table_name2,...
WHERE field LIKE condition

Verwenden Sie eine LIKE-Klausel entweder an der Eingabeaufforderung oder in einem PHP-Skript.

Die Eingabeaufforderung

Verwenden Sie an der Eingabeaufforderung einfach einen Standardbefehl -

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from products_tbl
   WHERE product_manufacturer LIKE 'XYZ%';
+-------------+----------------+----------------------+
| ID_number   | Nomenclature   | product_manufacturer |
+-------------+----------------+----------------------+
| 12345       | Orbitron 4000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12346       | Orbitron 3000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12347       | Orbitron 1000  | XYZ Corp             |
+-------------+----------------+----------------------+

PHP-Skript mit Like-Klausel

Verwenden Sie die mysql_query() Funktion in Anweisungen, die die LIKE-Klausel verwenden

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date
      FROM products_tbl WHERE product_manufacturer LIKE "xyz%"';
   
   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Product ID:{$row['product_id']} <br> ".
         "Name: {$row['product_name']} <br> ".
         "Manufacturer: {$row['product_manufacturer']} <br> ".
         "Ship Date: {$row['ship_date']} <br> ".
         "--------------------------------<br>";
   }
   
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Nach erfolgreichem Datenabruf wird die folgende Ausgabe angezeigt:

Product ID: 12345
Nomenclature: Orbitron 4000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 12346
Nomenclature: Orbitron 3000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
Product ID: 12347
Nomenclature: Orbitron 1000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
mysql> Fetched data successfully