MySQL SELECT 語句:查詢數(shù)據(jù)
mysql 數(shù)據(jù)庫使用sql select語句來查詢數(shù)據(jù)。
我們可以通過 mysql> 命令窗口在數(shù)據(jù)庫中查詢數(shù)據(jù),或者通過php腳本來查詢數(shù)據(jù)。
1. mysql select 語句的語法
select column_name,column_name from table_name [where clause] [limit n][ offset m]
- 查詢語句中你可以使用一個(gè)或者多個(gè)表,表之間使用逗號(,)分割,并使用where語句來設(shè)定查詢條件。
- select 命令可以讀取一條或者多條記錄。
- 你可以使用星號(*)來代替其他字段,select語句會返回表的所有字段數(shù)據(jù)
- 你可以使用 where 語句來包含任何條件。
- 你可以使用 limit 屬性來設(shè)定返回的記錄數(shù)。
- 你可以通過offset指定select語句開始查詢的數(shù)據(jù)偏移量。默認(rèn)情況下偏移量為0。
2. 通過命令窗口獲取數(shù)據(jù)
以下范例我們將通過 sql select 命令來獲取 article 表的所有記錄:
select * from article;
3. 使用php腳本來獲取數(shù)據(jù)
使用 php 函數(shù)的 mysqli_query() 命令來獲取數(shù)據(jù)。
該函數(shù)用于執(zhí)行 sql 命令,然后通過 php 函數(shù) mysqli_fetch_array() 來使用或輸出所有查詢的數(shù)據(jù)。
mysqli_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有 返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 false。
以下范例為從數(shù)據(jù)表 article 中讀取所有記錄。
mysql 范例
$dbhost = 'localhost'; // mysql服務(wù)器主機(jī)地址 $dbuser = 'root'; // mysql用戶名 $dbpass = '123456'; // mysql用戶名密碼 $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ) { die('連接失敗: ' . mysqli_error($conn));} // 設(shè)置編碼,防止中文亂碼 mysqli_query($conn , "set names utf8");
$sql = 'select id, title, author, submission_date
from article';
mysqli_select_db( $conn, 'yapf' );$retval = mysqli_query( $conn, $sql );if(! $retval ) { die('無法讀取數(shù)據(jù): ' . mysqli_error($conn));} echo '
';mysqli_close($conn);?>
mysqli_fetch_array 測試
';echo '';while($row = mysqli_fetch_array($retval, mysqli_assoc)) { echo "". "". "". "". "";} echo '教程 id | 標(biāo)題 | 作者 | 提交日期 |
{$row['id']} | {$row['title']} | {$row['author']} | {$row['submission_date']} |