MySQLクエリデータ

巴扎黑
巴扎黑オリジナル
2016-12-07 13:18:191230ブラウズ

MySQL データベースは SQL SELECT ステートメントを使用してデータをクエリします。

mysql> コマンド プロンプト ウィンドウを使用してデータベース内のデータをクエリしたり、PHP スクリプトを使用してデータをクエリしたりできます。

以下は、MySQL データベース内のデータをクエリするための一般的な SELECT 構文です:

SELECT 列名,列名
FROM テーブル名[WHERE 句][OFFSET M][LIMIT N]

クエリでは 1 つ以上のテーブルを使用できます。ステートメントを使用し、テーブルを区切るにはコンマ (,) を使用し、クエリ条件を設定するには WHERE ステートメントを使用します。

SELECT コマンドは 1 つ以上のレコードを読み取ることができます。

アスタリスク (*) を使用して他のフィールドを置き換えることができ、SELECT ステートメントはテーブル内のすべてのフィールド データを返します。

WHERE ステートメントを使用して任意の条件を含めることができます。

OFFSET を使用して、SELECT ステートメントがクエリを開始するデータ オフセットを指定できます。デフォルトでは、オフセットは 0 です。

LIMIT 属性を使用して、返されるレコードの数を設定できます。

コマンド プロンプトを介してデータを取得します

次の例は、データ テーブル runoob_tbl のすべてのレコードを返します:

[root@localhost runoob]# mysql -u root -pパスワードを入力してください:
MariaDB モニターへようこそ コマンドはで終わります。 ; または g。
MariaDB 接続 ID は 2 です
サーバー バージョン: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and Others。

「help;」または「h」と入力します。 ' ヘルプを表示します。現在の入力ステートメントをクリアするには、「c」と入力します。

MariaDB [(none)]> テーブル名と列名の補完に RUNOOBReading テーブル情報を使用します
- を使用して、この機能をオフにできます。 A

データベースが変更されました
MariaDB [RUNOOB]> select * from runoob_tbl
-> ;+----------+---------------+ -- -------------+----------------+
| runoob_title |
+---- -- ------+--------------+--------------+----------- - -----+
| PHP を学ぶ | 2016 年 11 月 26 日 |
| 05 -06 |
| Cakin24 ------------+-----------------+4 行セット (0.00 秒)

MariaDB [RUNOOB]>


PHP スクリプトを使用してデータを取得する

方法 1:

まず、PHP 関数 mysql_query() と SQL SELECT コマンドを使用して、SQL コマンドを実行します。

次に、PHP 関数 mysql_fetch_array() を使用して、クエリされたデータを処理します。

mysql_fetch_array() 関数は、結果セットから行を連想配列、数値配列、またはその両方としてフェッチします。 結果セットから取得した行から生成された配列を返します。クエリ結果がない場合は false を返します。

次の例では、データテーブル runoob_tbl からすべてのレコードを読み取ります。

データテーブル runoob_tbl のすべてのレコードを表示するには、次の例を試してください。

$dbhost = 'localhost:3036';

$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (! $conn )
{
die('接続できませんでした: ' .mysql_error());
}
$sql = 'SELECT runoob_id, runoob_title,
runoob_author, submit_date
FROM runoob_tbl';

mysql_select_db('RUNOOB' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('データを取得できませんでした: ' . mysql_error());
}
while($row = mysql_fetch_array( $retval, MYSQL_ASSOC))
{
echo "チュートリアル ID :{$row['runoob_id']}
".
"タイトル: {$row['runoob_title']}
".
"著者: {$row['runoob_author']}
".
" "提出日: {$row['submission_date']}
".
" "-------- ----------
";
}
echo "データを正常に取得しましたn";
mysql_close($conn);
?>


上記の例では、読み取られたレコードの各行が変数 $row に割り当てられ、各値が出力されます。

注: 文字列内で変数を使用する必要がある場合は、変数を中括弧で囲んでください。

上記の例では、PHP mysql_fetch_array() 関数の 2 番目のパラメーターが MYSQL_ASSOC に設定されている場合、クエリ結果は配列のインデックスとしてフィールド名を使用できます。

方法 2:

PHP は、結果セットから行を連想配列としてフェッチする別の関数 mysql_fetch_assoc() を提供します。 結果セットから取得した行に基づいて連想配列を返します。行がない場合は false を返します。

次の例では、mysql_fetch_assoc() 関数を使用してデータテーブル runoob_tbl のすべてのレコードを出力します。

$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = ' rootpassword' ;
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('接続できませんでした: ' . mysql_error());
}
$sql = ' SELECT runoob_id , runoob_title,
runoob_author, submit_date
FROM runoob_tbl';

mysql_select_db('RUNOOB');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
死ぬ('できるかもしれない)データを取得できません: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo "チュートリアル ID :{$row['runoob_id']}
".
" "タイトル: {$row['runoob_title']}
".
" "著者: {$row['runoob_author']}
".
" "投稿日: {$row['submission_date ']} ".
" "----------------------------

}
echo "データを正常に取得しましたn";
mysql_close($conn);
?>

方法 3:

定数 MYSQL_NUM を PHP mysql_fetch_array() 関数の 2 番目のパラメータとして使用することもできます。数値配列を返します。

次の例では、MYSQL_NUM パラメータを使用して、データ テーブル runoob_tbl:

$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword' のすべてのレコードを表示します。 ;
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('接続できませんでした: ' .mysql_error());
}
$sql = 'SELECT runoob_id 、 runoob_title、
runoob_author、submission_date
FROM runoob_tbl';

mysql_select_db('RUNOOB');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('取得できませんでしたデータ: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
echo "チュートリアル ID :{$row[0]}
".
"タイトル: {$row[ 1]}
".
" "著者: {$row[2]}
".
" "提出日: {$row[3]}

" "---- ------------------------
";
}
echo "データを正常に取得しましたn" ;
mysql_close($conn) ;
?>

上記 3 つの例の出力結果は次のとおりです。

MySQLクエリデータ

メモリ解放

SELECT ステートメントを実行した後。 、カーソルのメモリを解放することは良い習慣です。メモリの解放は、PHP 関数 mysql_free_result() を通じて実現できます。

次の例は、この関数の使用法を示しています。この例では、前の例に基づいてステートメント mysql_free_result($retval); を追加するだけです。

$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (! $conn )
{
die('接続できませんでした: ' .mysql_error());
}
$sql = 'SELECT runoob_id, runoob_title,
runoob_author, submit_date
FROM runoob_tbl';

mysql_select_db('RUNOOB' );$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('データを取得できませんでした: ' . mysql_error());
}
while($row = mysql_fetch_array($ retval, MYSQL_NUM))
{
echo "チュートリアル ID :{$row[0]}
".
"タイトル: {$row[1]}
".
"著者: {$row [2]}
".
" "提出日: {$row[3]}
".
" "------ -------- ------------
";
}mysql_free_result($retval);echo "データを正常に取得しましたn";
mysql_close($conn);
? >


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。