mysql 查询数据 程序_MySQL 查询数据
MySQL 查詢(xún)數(shù)據(jù)
MySQL 數(shù)據(jù)庫(kù)使用SQL SELECT語(yǔ)句來(lái)查詢(xún)數(shù)據(jù)。
你可以通過(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é)果:
使用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ù):
$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'
菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試
';
echo'
| 教程 ID | 標(biāo)題 | 作者 | 提交日期 |
while($row=mysqli_fetch_array($retval,MYSQL_ASSOC))
{
echo"
{$row['runoob_id']}"."
{$row['runoob_title']}"."
{$row['runoob_author']}"."
{$row['submission_date']}"."
";}echo'';mysqli_close($conn);?>}
echo'';
mysqli_close($conn);
?>
輸出結(jié)果如下所示:
以上實(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ù):
$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'
菜鳥(niǎo)教程 mysqli_fetch_assoc 測(cè)試
';
echo'
| 教程 ID | 標(biāo)題 | 作者 | 提交日期 |
while($row=mysqli_fetch_assoc($retval))
{
echo"
{$row['runoob_id']}"."
{$row['runoob_title']}"."
{$row['runoob_author']}"."
{$row['submission_date']}"."
";}
echo'
';mysqli_close($conn);
?>
輸出結(jié)果如下所示:
你也可以使用常量 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ù):
$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'
菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試
';
echo'
| 教程 ID | 標(biāo)題 | 作者 | 提交日期 |
while($row=mysqli_fetch_array($retval,MYSQL_NUM))
{
echo"
{$row[0]}"."
{$row[1]}"."
{$row[2]}"."
{$row[3]}"."
";}
echo'
';mysqli_close($conn);
?>
輸出結(jié)果如下所示:
以上三個(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)存:
$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'
菜鳥(niǎo)教程 mysqli_fetch_array 測(cè)試
';
echo'
| 教程 ID | 標(biāo)題 | 作者 | 提交日期 |
while($row=mysqli_fetch_array($retval,MYSQL_NUM))
{
echo"
{$row[0]}"."
{$row[1]}"."
{$row[2]}"."
{$row[3]}"."
";}echo'
';//釋放內(nèi)存mysqli_free_result($retval);
mysqli_close($conn);
?>
輸出結(jié)果如下所示:
總結(jié)
以上是生活随笔為你收集整理的mysql 查询数据 程序_MySQL 查询数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tomcat mysql 启动顺序_li
- 下一篇: mysql 5.7 循环语句_MySQL