實機操作練習題

  1. 登入
    1. 遠端登入 kvm6 虛擬機。
    2. 以 root 身份登入 mysql。
  2. 新增資料庫及資料表
    1. 新增資料庫 dbc
    2. 在資料庫 dbc 中建立資料表 tblcx,包含下列欄位:
      1. id int not null auto_increment,
      2. title varchar(30),
      3. author varchar(40) not null,
      4. primary key (id)
    3. 在資料表 tblcx 中加入五筆資料。
      1. author abc123
      2. author xyz222
      3. title ruby, author abc321
      4. title perl, author xyz123
      5. title php, author xyz456
    4. 在資料庫 dbc 中建立資料表 tblcy,包含下列欄位:
      1. author varchar(40) not null,
      2. count int
    5. 在資料表 tblcy 中加入六筆資料。
      1. author abc777, count 23
      2. author xyz777, count 12
      3. author abc321, count 43
      4. author xyz123, count 83
      5. author xyz456, count 92
      6. author abcxyz, count 69
  3. 不要自行新增或改變資料庫及資料表內容
  4. 使用以下 php 範例程式,其中 ........ 依要求填入 mysql 語法,其中資料庫名稱依題目要求修改。
    <?php
    $dbhost = 'localhost:3306';
    $dbuser = 'root';
    $dbpass = '123qwe';
    $str = $_GET['str'];
    $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error().PHP_EOL);
    $sql = ".............";
    $retval = mysql_db_query( 'dbd',$sql ) or die(mysql_error().PHP_EOL);
    while($row = mysql_fetch_array($retval, MYSQL_NUM)) {
    	echo "{$row[0]}\t{$row[1]}\t{$row[2]}\n";
    }
    mysql_close($conn);
    ?>
    
  5. php 程式
    1. join.php:使用 JOIN 結合 tblcx 及 tblcy 兩個資料表,找出 author 同時出現在兩個資料表,而且 author 最前面符合 $str 的紀錄,變數 $str 由 php get 取得。列出 tblcx.id, tblcx.author, tblcy.count。
    2. leftjoin.php:使用 LEFT JOIN 選擇 tblcx 資料表所有紀錄,若 tblcy 資料表有共同的紀錄則一起列出,而且 author 最前面符合 $str 的紀錄,變數 $str 由 php get 取得。列出 tblcx.id, tblcx.author, tblcy.count,條件為 author 同時出現在兩個資料表的紀錄。
    3. rightjoin.php:使用 RIGHT JOIN 選擇 tblcy 資料表所有紀錄,若 tblcx 資料表有共同的紀錄則一起列出,而且 author 最前面符合 $str 的紀錄,變數 $str 由 php get 取得。列出 tblcx.id, tblcx.author, tblcy.count,條件為 author 同時出現在兩個資料表的紀錄。
    4. null.php:查詢 tblcx 資料表 title 為 null 的紀錄,依序列出 id, title, author 欄位,其中 title 使用 IFNULL(title, '$str') 將查詢到的 NULL 欄位輸出成 $str,變數 $str 由 php get 取得。
    5. regexp.php:查詢 tblcy 資料表 author 以 「$str 開頭數字結尾」的紀錄,變數 $str 由 php get 取得。列出所有欄位,但因 tblcy 只有兩個欄位,所以 php 檔中的陣列 row 輸出 $row[2]} 必須刪除。