Latest web development tutorials

Klauzula MySQL LIKE

Wiemy, że za pomocą polecenia SQL SELECT do odczytywania danych w MySQL, możemy użyć w klauzuli WHERE instrukcji SELECT, aby uzyskać określony rekord.

Klauzula WHERE może używać znaku równości (=), aby ustawić warunki gromadzenia danych, takich jak "w3big_author =" Sanjay ' ".

Ale czasami musimy pola w3big_author zawiera wszystkie rekordy "Jay" charakter, to musimy użyć klauzuli SQL LIKE WHERE.

SQL LIKE klauzula pomocą znak procentu (%) Postać reprezentować dowolną postać, podobną do wyrażenia regularnego lub gwiazdką (*) UNIX.

Jeśli nie użyć znaku procentu (%), podobnie jak klauzula znakiem równości (=) efekt jest taki sam.

gramatyka

Poniżej znajduje się instrukcja SQL SELECT przy użyciu klauzuli LIKE do odczytu danych z składni ogólnej tabeli danych:

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Można podać dowolny warunek w klauzuli WHERE.
  • Można użyć klauzuli LIKE w klauzuli WHERE.
  • Można użyć klauzuli LIKE zamiast znaku równości (=).
  • JAK jest powszechnie stosowany w połączeniu z%, podobnie jak poszukiwanie meta-znaków.
  • Możesz używać AND lub OR, aby określić jeden lub więcej warunków.
  • Można użyć klauzuli WHERE ... jak określić stan DELETE lub polecenie UPDATE.

Użyj klauzuli jak w wierszu polecenia

Poniżej użyjemy polecenia SQL SELECT WHERE ... jak klauzula odczytu danych z danymi w tabeli MySQL w w3big_tbl.

Przykłady

Oto co otrzymamy pole w3big_author do "Jay" kończąc wszystkie rekordy w3big_tbl tabeli:

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>

Użyj LIKE klauzuli w skrypcie PHP

Można użyć funkcji mysql_query () w PHP i tego samego polecenia SQL SELECT przynieść GDZIE ... jak klauzuli do pobierania danych.

Ta funkcja służy do wykonywania poleceń SQL, a następnie () danych wyjściowych dla wszystkich zapytań za pośrednictwem funkcji PHP mysql_fetch_array.

Ale jeśli jest on stosowany w SQL DELETE lub UPDATE WHERE ... jak klauzuli, nie trzeba używać funkcji mysql_fetch_array ().

Przykłady

Oto, co możemy wykorzystać skrypt PHP odczytuje pola w3big_author do "Jay" Zakończenie wszystkich rekordów w w3big_tbl tabeli:

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