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