MariaDB - Like Clause

La clausola WHERE fornisce un modo per recuperare i dati quando un'operazione utilizza una corrispondenza esatta. In situazioni che richiedono più risultati con caratteristiche condivise, ilLIKE la clausola accoglie un ampio pattern matching.

Una clausola LIKE verifica una corrispondenza del modello, restituendo vero o falso. I modelli utilizzati per il confronto accettano i seguenti caratteri jolly: "%", che corrisponde a numeri di caratteri (0 o più); e "_", che corrisponde a un singolo carattere. Il carattere jolly "_" corrisponde solo ai caratteri all'interno del set, il che significa che ignorerà i caratteri latini quando si utilizza un altro set. Le corrispondenze non fanno distinzione tra maiuscole e minuscole per impostazione predefinita e richiedono impostazioni aggiuntive per la distinzione tra maiuscole e minuscole.

Una clausola NOT LIKE consente di testare la condizione opposta, in modo molto simile a not operatore.

Se l'espressione o il modello dell'istruzione restituisce NULL, il risultato è NULL.

Rivedere la sintassi della clausola LIKE generale fornita di seguito:

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

Utilizza una clausola LIKE al prompt dei comandi o all'interno di uno script PHP.

Il prompt dei comandi

Al prompt dei comandi, usa semplicemente un comando standard:

[email protected]# 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             |
+-------------+----------------+----------------------+

Script PHP che utilizza la clausola Like

Utilizzare il mysql_query() funzione nelle istruzioni che impiegano la clausola LIKE

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

In caso di recupero dei dati riuscito, vedrai il seguente output:

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