English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQLでSQL SELECT コマンドを使用してデータを読み取ることを知っています。 同時に、SELECT 文で WHERE 子句を使用して指定されたレコードを取得できます。
WHERE 子句で等号 = を使用してデータの取得条件を設定できます、例えば「w3codebox_author = 'oldtoolbag.com'"。
しかし、時には w3codebox_author フィールドに「COM」文字が含まれるすべてのレコードがあれば、WHERE 子句で SQL LIKE 子句を使用する必要があります。
SQL LIKE 子句では、百分号 % 文字を使用して任意の文字を表し、UNIXや正規表現の星号に似ています。 *。
百分号 % を使用していない場合、LIKE 子句は等号 = の効果と同じです。
以下は、LIKE 子句を使用してデータテーブルからデータを読み取る SQL SELECT 文の一般的な文法です:
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] field2 = 'somevalue'
WHERE 子句でどんな条件でも指定できます。
WHERE 子句で LIKE 子句を使用できます。
LIKE 子句を使用して等号 = の代わりにできます。
LIKE は通常、% と一緒に使用され、ワイルドカード文字の検索に似ています。
AND または OR を使用して、1つまたは複数の条件を指定できます。
DELETE または UPDATE コマンドで WHERE...LIKE 子句を使用して条件を指定できます。
以下では、SQL SELECT コマンドで WHERE...LIKE 子句を使用して MySQL データテーブル w3codebox_tbl からデータを読み取ります。
以下に、w3codebox_tbl テーブルから w3codebox_authorフィールドにCOMで終わるすべてのレコード:
mysql> use w3codebox; Database changed mysql> SELECT * from w3codebox_tbl WHERE w3codebox_author LIKE '%COM'; +-----------+---------------+---------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +-----------+---------------+---------------+-----------------+ | 3 | Javaを学ぶ | oldtoolbag.com | 2015-05-01 | | 4 | Pythonを学ぶ | oldtoolbag.com | 2016-03-06 | +-----------+---------------+---------------+-----------------+ 2 rows in set (0.01 sec)
あなたは、mysqli_query()関数と同じSQL SELECT命令にWHERE...LIKE句を追加してデータを取得することができます。
この関数は、SQLコマンドを実行し、PHP関数mysqli_fetch_array()を使用してすべてのクエリデータを出力するために使用されます。
ただし、DELETEまたはUPDATEでWHERE...LIKE句を使用するSQL文では、mysqli_fetch_array()関数を使用する必要はありません。
以下は、PHPスクリプトを使用してw3codebox_tblテーブルからw3codebox_authorフィールドにCOMで終わるすべてのレコード:
<?php $dbhost = 'localhost'; // MySQLのサーバー主机のアドレス $dbuser = 'root'; // MySQLのユーザー名 $dbpass = '123456'; // MySQLのユーザー名とパスワード $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn) { die('接続失敗: ' . mysqli_error($conn)); } // 設定エンコーディング、中華文字の乱れを防ぐ mysqli_query($conn, "set names utf8'); $sql = 'SELECT w3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl WHERE w3codebox_author LIKE "%COM"'; mysqli_select_db($conn, 'w3codebox'); $retval = mysqli_query($conn, $sql); if(! $retval )}} { die('データの読み取りに失敗しました: ' . mysqli_error($conn)); } echo '<h2>基础教程网 mysqli_fetch_array テスト<h2">;</ echo '<table border="1><tr><td>チュートリアル ID</td><td>タイトル</td><td>著者</td><td>提出日付</td></tr>'; while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) { echo "<tr><td> {$row['w3codebox_id']}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
以下の図に示される結果を出力します: