MySQL查詢(xún)數(shù)據(jù)

MySQL 查詢(xún)數(shù)據(jù)

MySQL 數(shù)據(jù)庫(kù)使用SQL SELECT語(yǔ)句來(lái)查詢(xún)數(shù)據(jù)。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的五臺(tái)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

你可以通過(guò) mysql> 命令提示窗口中在數(shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù),或者通過(guò)PHP腳本來(lái)查詢(xún)數(shù)據(jù)。

語(yǔ)法

以下為在MySQL數(shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù)通用的 SELECT 語(yǔ)法:

SELECT column_name,column_name
FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
  • 查詢(xún)語(yǔ)句中你可以使用一個(gè)或者多個(gè)表,表之間使用逗號(hào)(,)分割,并使用WHERE語(yǔ)句來(lái)設(shè)定查詢(xún)條件。

  • SELECT 命令可以讀取一條或者多條記錄。

  • 你可以使用星號(hào)(*)來(lái)代替其他字段,SELECT語(yǔ)句會(huì)返回表的所有字段數(shù)據(jù)

  • 你可以使用 WHERE 語(yǔ)句來(lái)包含任何條件。

  • 你可以使用 LIMIT 屬性來(lái)設(shè)定返回的記錄數(shù)。

  • 你可以通過(guò)OFFSET指定SELECT語(yǔ)句開(kāi)始查詢(xún)的數(shù)據(jù)偏移量。默認(rèn)情況下偏移量為0。


通過(guò)命令提示符獲取數(shù)據(jù)

以下實(shí)例我們將通過(guò) SQL SELECT 命令來(lái)獲取 MySQL 數(shù)據(jù)表 runoob_tbl 的數(shù)據(jù):

實(shí)例

以下實(shí)例將返回?cái)?shù)據(jù)表 runoob_tbl 的所有記錄:

讀取數(shù)據(jù)表:

select *fromrunoob_tbl;

輸出結(jié)果:

MySQL 查詢(xún)數(shù)據(jù)


使用PHP腳本來(lái)獲取數(shù)據(jù)

使用 PHP 函數(shù)的 mysqli_query() 及 SQL SELECT 命令來(lái)獲取數(shù)據(jù)。

該函數(shù)用于執(zhí)行 SQL 命令,然后通過(guò) PHP 函數(shù) mysqli_fetch_array() 來(lái)使用或輸出所有查詢(xún)的數(shù)據(jù)。

mysqli_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有 返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒(méi)有更多行則返回 false。

以下實(shí)例為從數(shù)據(jù)表 runoob_tbl 中讀取所有記錄。

實(shí)例

嘗試以下實(shí)例來(lái)顯示數(shù)據(jù)表 runoob_tbl 的所有記錄。

使用 mysqli_fetch_array MYSQL_ASSOC 參數(shù)獲取數(shù)據(jù):

<?php

                     $dbhost ='localhost:3306';          // mysql服務(wù)器主機(jī)地址

                     $dbuser ='root';                         // mysql用戶(hù)名

                     $dbpass ='123456';                   // mysql用戶(hù)名密碼

$conn =mysqli_connect($dbhost,$dbuser,$dbpass);

if(!$conn)

{    

                          die('連接失敗:' .mysqli_error($conn));

}

// 設(shè)置編碼,防止中文亂碼

mysqli_query($conn ,"set names utf8");



$sql ='SELECT runoob_id, runoob_title,    

           runoob_author, submission_date       

           FROM runoob_tbl';



mysqli_select_db($conn,'RUNOOB');

$retval =mysqli_query($conn,$sql);

if(!$retval)

{    

      die('無(wú)法讀取數(shù)據(jù):' .mysqli_error($conn));

}

echo'<h3>菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試<h3>';

echo'<table border="1"><tr><td>教程 ID</td><td>標(biāo)題</td><td>作者</td><td>提交日期</td></tr>';

while($row =mysqli_fetch_array($retval,MYSQL_ASSOC))

{    

           echo"<tr><td>{$row['runoob_id']}</td>".       

                   "<td>{$row['runoob_title']} </td>".       

                   "<td>{$row['runoob_author']} </td>".       

                   "<td>{$row['submission_date']} </td>".       

                    "</tr>";}echo'</table>';mysqli_close($conn);?>

}

echo'</table>';

mysqli_close($conn);

?>

輸出結(jié)果如下所示:

MySQL 查詢(xún)數(shù)據(jù)

以上實(shí)例中,讀取的每行記錄賦值給變量 $row,然后再打印出每個(gè)值。

注意:記住如果你需要在字符串中使用變量,請(qǐng)將變量置于花括號(hào)。

在上面的例子中,PHP mysqli_fetch_array() 函數(shù)第二個(gè)參數(shù)為 MYSQL_ASSOC, 設(shè)置該參數(shù)查詢(xún)結(jié)果返回關(guān)聯(lián)數(shù)組,你可以使用字段名稱(chēng)來(lái)作為數(shù)組的索引。

PHP 提供了另外一個(gè)函數(shù) mysqli_fetch_assoc(), 該函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組。 返回根據(jù)從結(jié)果集取得的行生成的關(guān)聯(lián)數(shù)組,如果沒(méi)有更多行,則返回 false。

實(shí)例

嘗試以下實(shí)例,該實(shí)例使用了 mysqli_fetch_assoc() 函數(shù)來(lái)輸出數(shù)據(jù)表 runoob_tbl 的所有記錄:

使用 mysqli_fetch_assoc 獲取數(shù)據(jù):

<?php

$dbhost ='localhost:3306';  // mysql服務(wù)器主機(jī)地址

$dbuser ='root';                 // mysql用戶(hù)名

$dbpass ='123456';           // mysql用戶(hù)名密碼

$conn =mysqli_connect($dbhost,$dbuser,$dbpass);

if(!$conn)

{    

die('連接失敗:' .mysqli_error($conn));

}

// 設(shè)置編碼,防止中文亂碼

mysqli_query($conn ,"set names utf8");


$sql ='SELECT runoob_id, runoob_title,       

            runoob_author, submission_date      

            FROM runoob_tbl';


mysqli_select_db($conn,'RUNOOB');

$retval =mysqli_query($conn,$sql);

if(!$retval)


 die('無(wú)法讀取數(shù)據(jù):' .mysqli_error($conn));

}

echo'<h3>菜鳥(niǎo)教程 mysqli_fetch_assoc 測(cè)試<h3>';

echo'<table border="1"><tr><td>教程 ID</td><td>標(biāo)題</td><td>作者</td><td>提交日期</td></tr>';

while($row =mysqli_fetch_assoc($retval))

{    

echo"<tr><td>{$row['runoob_id']}</td>".       

        "<td>{$row['runoob_title']} </td>".      

        "<td>{$row['runoob_author']} </td>".    

        "<td>{$row['submission_date']} </td>".     

        "</tr>";

}

echo'</table>';

mysqli_close($conn);

?>

輸出結(jié)果如下所示:

MySQL 查詢(xún)數(shù)據(jù)

你也可以使用常量 MYSQL_NUM 作為 PHP mysqli_fetch_array() 函數(shù)的第二個(gè)參數(shù),返回?cái)?shù)字?jǐn)?shù)組。

實(shí)例

以下實(shí)例使用 MYSQL_NUM 參數(shù)顯示數(shù)據(jù)表 runoob_tbl 的所有記錄:

使用 mysqli_fetch_array MYSQL_NUM 參數(shù)獲取數(shù)據(jù):

<?php

           $dbhost ='localhost:3306';  // mysql服務(wù)器主機(jī)地址

           $dbuser ='root';                 // mysql用戶(hù)名

          $dbpass ='123456';           // mysql用戶(hù)名密碼


$conn =mysqli_connect($dbhost,$dbuser,$dbpass);if(!$conn)

{   


die('連接失敗:' .mysqli_error($conn));

}

// 設(shè)置編碼,防止中文亂碼


mysqli_query($conn ,"set names utf8");

             $sql ='SELECT runoob_id, runoob_title,      

                         runoob_author, submission_date      

                        FROM runoob_tbl';


mysqli_select_db($conn,'RUNOOB');

$retval =mysqli_query($conn,$sql);


if(!$retval)

{   

die('無(wú)法讀取數(shù)據(jù):' .mysqli_error($conn));

}

echo'<h3>菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試<h3>';

echo'<table border="1"><tr><td>教程 ID</td><td>標(biāo)題</td><td>作者</td><td>提交日期</td></tr>';


while($row =mysqli_fetch_array($retval,MYSQL_NUM))

{  

 echo"<tr><td>{$row[0]}</td>".       

"<td>{$row[1]} </td>".       

"<td>{$row[2]} </td>".      

 "<td>{$row[3]} </td>".        

"</tr>";

}

echo'</table>';

mysqli_close($conn);

?>

輸出結(jié)果如下所示:

MySQL 查詢(xún)數(shù)據(jù)

以上三個(gè)實(shí)例輸出結(jié)果都一樣。


內(nèi)存釋放

在我們執(zhí)行完 SELECT 語(yǔ)句后,釋放游標(biāo)內(nèi)存是一個(gè)很好的習(xí)慣。

可以通過(guò) PHP 函數(shù) mysqli_free_result() 來(lái)實(shí)現(xiàn)內(nèi)存的釋放。

以下實(shí)例演示了該函數(shù)的使用方法。

實(shí)例

嘗試以下實(shí)例:

使用 mysqli_free_result 釋放內(nèi)存:

<?php

$dbhost ='localhost:3306';  // mysql服務(wù)器主機(jī)地址

$dbuser ='root';                  // mysql用戶(hù)名

$dbpass ='123456';            // mysql用戶(hù)名密碼

$conn =mysqli_connect($dbhost,$dbuser,$dbpass);


if(!$conn)

{   

die('連接失敗:' .mysqli_error($conn));

}

// 設(shè)置編碼,防止中文亂碼


mysqli_query($conn ,"set names utf8");

$sql ='SELECT runoob_id, runoob_title,      

            runoob_author, submission_date     

            FROM runoob_tbl';


mysqli_select_db($conn,'RUNOOB');

$retval =mysqli_query($conn,$sql);

if(!$retval)

{  

 die('無(wú)法讀取數(shù)據(jù):' .mysqli_error($conn));

}

echo'<h3>菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試<h3>';

echo'<table border="1"><tr><td>教程 ID</td><td>標(biāo)題</td><td>作者</td><td>提交日期</td></tr>';


while($row =mysqli_fetch_array($retval,MYSQL_NUM))

{  

 echo"<tr><td>{$row[0]}</td>".       

"<td>{$row[1]} </td>".       

"<td>{$row[2]} </td>".        

"<td>{$row[3]} </td>".       

"</tr>";}

echo'</table>';// 釋放內(nèi)存

mysqli_free_result($retval);

mysqli_close($conn);

?>

輸出結(jié)果如下所示:

MySQL 查詢(xún)數(shù)據(jù)

當(dāng)前標(biāo)題:MySQL查詢(xún)數(shù)據(jù)
文章轉(zhuǎn)載:http://bm7419.com/article30/jcejso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)網(wǎng)站改版、商城網(wǎng)站Google、關(guān)鍵詞優(yōu)化、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)