Latest web development tutorials

MySQLのLIKE句

私たちは、MySQLのデータを読み込むために、SQLのSELECTコマンドを使用していることを知っている、と我々は指定されたレコードを取得するには、SELECT文のWHERE句で使用することができます。

WHERE句は、「w3big_author = 'サンジャイ' "のようなデータ取得条件を設定するために等号(=)を使用することができます。

しかし、時には我々はw3big_authorフィールドがすべてのレコード「ジェイ」の文字が含まれている取得する必要があり、我々は、SQL LIKE句、WHERE句を使用する必要があります。

UNIX正規表現またはアスタリスク(*)に似た任意の文字を表すためにパーセント記号(%)文字を使用して、SQL LIKE句。

あなたはパーセント記号(%)を使用しない場合は、等号(=)との句のような効果は同じです。

文法

データテーブルの一般的な構文からデータを読み取るためにLIKE句を使用して、SQLのSELECT文は、次のとおりです。

SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • あなたは、WHERE句で任意の条件を指定することができます。
  • あなたは、WHERE句でLIKE句を使用することができます。
  • あなたは、等号(=)の代わりに、LIKE句を使用することができます。
  • LIKEは、一般的にメタ文字の検索と同様に、%と組み合わせて使用​​されます。
  • もし使用ANDまたはOR 1つ以上の条件を指定することができます。
  • あなたはWHERE ... LIKE DELETE条件を指定する句またはUPDATEコマンドを使用することができます。

コマンドプロンプトでLIKE句を使用します

以下は、SQLのSELECTコマンドをw3big_tblでMySQLのテーブルデータからデータを読み込むための... LIKE句を使用します。

ここでは、「ジェイ」は、すべてのレコードをw3big_tblテーブルを終了するw3big_authorフィールドを取得するものです。

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>

PHPスクリプト内のLIKE句を使用します

あなたは、データを取得する... LIKE句をもたらすためにするmysql_queryのPHP関数を(使用)と同じSQL SELECTコマンドできます。

この関数は、PHPの関数は、mysql_fetch_arrayを介してすべてのクエリのデータを出力するように()は、SQLコマンドを実行するために使用されます。

しかし、場合には、LIKE句、あなたはは、mysql_fetch_array()関数を使用する必要はありません... DELETEステートメントまたはUPDATE SQLで使用されています。

ここでは、PHPスクリプトがw3big_tblテーブル内のすべてのレコードの「ジェイ」のエンディングにw3big_authorフィールドを読み込み、使用しているものです:

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