next up previous contents
Next: Where 條件 Up: Query 紀錄詢問 Previous: Insert 新增紀錄   Contents

Select 查詢資料表

  1. 文字命令列直接查詢資料表 dyw_tbl 的內容。
    [root@kvm8 ~]# mysql -uroot -p123qwe \
    -e "use dyw; select * from dyw_tbl;"
    +--------+-----------+------------+-----------------+
    | dyw_id | dyw_title | dyw_author | submission_date |
    +--------+-----------+------------+-----------------+
    |      1 | PHP       | david      | 2014-12-24      |
    |      3 | MySQL     | dywang     | 2014-12-12      |
    |      4 | Linux     | linda      | 2014-12-24      |
    +--------+-----------+------------+-----------------+
    
  2. 文字命令列直接查詢資料表 dyw_tbl 的內容,且以欄位 dyw_title 排序。
    [root@kvm8 ~]# mysql -uroot -p123qwe \
    -e "use dyw; select * from dyw_tbl order by dyw_title;"
    +--------+-----------+------------+-----------------+
    | dyw_id | dyw_title | dyw_author | submission_date |
    +--------+-----------+------------+-----------------+
    |      4 | Linux     | linda      | 2014-12-24      |
    |      3 | MySQL     | dywang     | 2014-12-12      |
    |      1 | PHP       | david      | 2014-12-24      |
    +--------+-----------+------------+-----------------+
    
  3. 文字命令列直接查詢資料表 dyw_tbl 的內容,限制只列出一筆。
    [root@kvm8 ~]# mysql -uroot -p123qwe \
    -e "use dyw; select * from dyw_tbl limit 1;"
    +--------+-----------+------------+-----------------+
    | dyw_id | dyw_title | dyw_author | submission_date |
    +--------+-----------+------------+-----------------+
    |      1 | PHP       | david      | 2014-12-24      |
    +--------+-----------+------------+-----------------+
    
  4. 文字命令列直接查詢資料表 dyw_tbl 的內容,限制只列出一筆,且位移一筆。
    [root@kvm8 ~]# mysql -uroot -p123qwe \
    -e "use dyw; select * from dyw_tbl limit 1 offset 1;"
    +--------+-----------+------------+-----------------+
    | dyw_id | dyw_title | dyw_author | submission_date |
    +--------+-----------+------------+-----------------+
    |      3 | MySQL     | dywang     | 2014-12-12      |
    +--------+-----------+------------+-----------------+
    
  5. 以 php 程式以函數 mysql_fetch_array 函數取得資料表 dywphp_tbl 中的紀錄,顯示在網頁上。
    1. 函數 mysql_fetch_array 的第 2 個參數 MYSQL_ASSOC 表示回傳的陣列以欄位名稱為索引。
    2. mysql_fetch_array($retval, MYSQL_ASSOC) 也可以直接以函數 mysql_fetch_assoc($retval) 取代。
    3. 若函數 mysql_fetch_array 的第 2 個參數改為 MYSQL_NUM 則會以數字從 0 開始為索引值。
    4. 養成好習慣,取得資料後使用函數 mysql_free_result($retval); 釋放記憶體。
    [root@kvm8 html]# vim selectrecord.php
    [root@kvm8 html]# cat selectrecord.php
    <?php
    $dbhost = 'localhost:3036';
    $dbuser = 'root';
    $dbpass = '123qwe';
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
      die('Could not connect: ' . mysql_error());
    }
    $sql = 'SELECT dywphp_id, dywphp_title, 
                   dywphp_author, submission_date
            FROM dywphp_tbl';
    
    mysql_select_db('dywphp');
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not get data: ' . mysql_error());
    }
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
    {
        echo "Dywphp ID :{$row['dywphp_id']}  <br> ".
             "Title: {$row['dywphp_title']} <br> ".
             "Author: {$row['dywphp_author']} <br> ".
             "Submission Date : {$row['submission_date']} <br> ".
             "--------------------------------<br>";
    } 
    mysql_free_result($retval);
    echo "Fetched data successfully\n";
    mysql_close($conn);
    ?>
    
  6. 開啟瀏覽器,連上網址 http://kvm8.deyu.wang/selectrecord.php,網頁上列出資料表 dywphp_tbl 中的紀錄,其中第一筆紀錄時間為 0000-00-00 ,因為在網頁以函數 NOW() 輸入時間,php 程式將其判斷為字串。
    Image selectrecord



2017-06-01