MySQLのクエリデータ
データを照会するためにSQLのSELECT文を使用してMySQLデータベース。
あなたはデータを照会するために、データベース内のデータを照会するコマンドプロンプトウィンドウ、またはPHPスクリプトを介し>のmysqlことができます。
文法
MySQLデータベースのSELECT構文で一般的なクエリデータを示します。
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- あなたは、1つまたは複数のテーブルを使用して照会テーブル間のカンマ(、)セグメンテーションを使用し、検索条件を設定するには、WHERE句を使用することができます。
- SELECTコマンドは、1つ以上のレコードを読み出します。
- あなたの代わりに、他のフィールドで、SELECTステートメントは、データテーブル内のすべてのフィールドを返します。アスタリスク(*)を使用することができます
- あなたは、任意の条件が含まれるようにWHERE句を使用することができます。
- あなたは、SELECTクエリ文がオフセットすることにより開始するオフセットデータを指定することができます。 デフォルトでは、オフセットは0です。
- あなたは、プロパティが返さ設定するために使用できるレコードの数を制限。
コマンドプロンプトからデータを取得します。
我々はMySQLのデータテーブルは、SQLのSELECTコマンドを使用してデータをw3big_tbl取得します例を示します。
例
次の例では、データテーブルw3big_tbl内のすべてのレコードを返します。
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl +-------------+----------------+-----------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 1 | Learn PHP | John Poul | 2007-05-21 | | 2 | Learn MySQL | Abdul S | 2007-05-21 | | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 3 rows in set (0.01 sec) mysql>
データを取得するPHPスクリプトを使用します
データを取得するために、PHPの関数するmysql_query()とSQLのSELECTコマンドを使用します。
この関数は、SQLコマンドを実行するために使用され、その後、PHPの関数は、mysql_fetch_arrayを通じて()すべての照会のために使用したり、データを出力します。
mysql_fetch_array()関数は、より多くの行が誤った結果そこから返されていない場合の行が生成された結果セットから得られるリターンの配列に応じて、連想配列、数値配列、またはその両方として行を取得します。
次の例は、テーブルw3big_tblのデータからすべてのレコードを読み取ることがあります。
例
データテーブルのw3big_tblのすべてのレコードを表示するには、次の例を試してみてください。
<?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'; 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); ?>
上記の例では、レコードが読み取られた各ラインは、変数$行に割り当てられ、その後、それぞれの値をプリントアウトされます。
注:文字列で変数を使用する必要がある場合は、中括弧内に置か変数を設定することを忘れないでください。
上記の例では、第2パラメータのPHPのは、mysql_fetch_array()関数はMYSQL_ASSOCで、パラメータクエリの結果返される連想配列を設定するには、配列のインデックスとしてフィールド名を使用することができます。
PHPは他の機能mysql_fetch_assoc()を提供し、機能が連想配列として結果の行を取得します。 もう行がない場合、それはfalseを返します生成された結果セットの行から取得した連想配列を返します。
例
次のインスタンスは、データテーブルのすべてのレコードがw3big_tbl出力にmysql_fetch_assoc()関数を使用してみてください。
<?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'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_assoc($retval)) { 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); ?>
また、関数の第2引数は、数値の配列を返します)(PHPのは、mysql_fetch_arrayとして一定MYSQL_NUMを使用することができます。
例
次の例では、データテーブルw3big_tbl内のすべてのレコードMYSQL_NUMパラメータが表示されますを使用しています。
<?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'; 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_NUM)) { echo "Tutorial ID :{$row[0]} <br> ". "Title: {$row[1]} <br> ". "Author: {$row[2]} <br> ". "Submission Date : {$row[3]} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
出力結果の上記3つの例と同じです。
メモリ解放
私たちは、SELECT文の実行を終えた後、放出されたカーソルメモリは良い習慣です。 。 メモリの解放を達成するためにPHPの関数mysql_free_result()によります。
次の例では、関数を使用する方法を示しています。
例
次の例を試してみてください。
<?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'; 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_NUM)) { echo "Tutorial ID :{$row[0]} <br> ". "Title: {$row[1]} <br> ". "Author: {$row[2]} <br> ". "Submission Date : {$row[3]} <br> ". "--------------------------------<br>"; } mysql_free_result($retval); echo "Fetched data successfully\n"; mysql_close($conn); ?>