羅德興老師的教學歷程檔案 - 108-2 資料庫管理系統 - Unit 1-MySQL 初學習
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    Unit 1-MySQL 初學習

    Unit 1-MySQL 初學習

    (以下取材自  溫瑞烘教授  教學網頁  http://alliance.cust.edu.tw/portfolio/myPortfolio?path=410705&tag=105-1-資料庫程式設計)
    請先備好工具:  (1) 網站 Server + PHP + MySQL, 如 Appserv, (2) 編輯軟體, 如 Notepad ++, (3) 資料庫操作軟體,如 HeidiSQL.

    壹、建立資料庫database 與資料表table
    DROP DATABASE IF EXISTS mydb;  -- 刪除資料庫
    CREATE DATABASE mydb DEFAULT CHARACTER SET utf8;  -- 建立資料庫 採utf8編碼
    USE mydb;                    -- 使用資料庫
    CREATE TABLE stmd (          -- 建立資料表
      depart_class   CHAR(6)     COMMENT  '班級代碼',
      student_no     CHAR(9)     COMMENT  '學號',
      student_name   VARCHAR(20) COMMENT  '姓名',
      address        VARCHAR(60) COMMENT  '地址',
      primary key(student_no)
    );
     
    貳、插入資料表的方式有兩種
     
    1. 利用Insert命令,例如
     
    INSERT INTO stmd VALUES("164D21","10014D001","張中華","台北市南港區研究院路3段245號");

    或是:
    INSERT INTO stmd VALUES("164D21","10014D005","張小華","台南市拿大路1段100號");
    INSERT INTO stmd VALUES("164D21","10014D002","王力弘","美國L.A.");
    INSERT INTO stmd VALUES("164D21","10014D003","張會妹","台北市信義路5段2019號");
    INSERT INTO stmd VALUES("164D22","10014D004","陳擂","桃園市桃園路212號");
    INSERT INTO stmd VALUES("164D22","10014F001","費育清","台北市忠孝東路1段10000號");
    INSERT INTO stmd VALUES("164D22","10014F002","張大華","基隆市仁愛路25號");
    INSERT INTO stmd VALUES("164A24","10014F003","韓國於","高雄市愛河");
    INSERT INTO stmd VALUES("164A24","10014F004","柯聞哲","台北市市府路100號");
    INSERT INTO stmd VALUES("164A24","10014G005","侯有宜","新北市大同路1199號");
    INSERT INTO stmd VALUES("164A24","10014G006","蔡應文","台北市凱達格蘭大道1號");
     
    2. 利用事先建立的資料檔,欄位之間以 , 分隔,採utf8編碼
       例如檔名為 stmd.txt,置於 C:/AppServ/www/stmd.txt

    如:
    164D21,10014D005,張小華,台南市拿大路1段100號
    164D21,10014D002,王力弘,美國L.A.
    164D21,10014D003,張會妹,台北市信義路5段2019號
    164D22,10014D004,陳擂,桃園市桃園路212號
    164D22,10014F001,費育清,台北市忠孝東路1段10000號
    164D22,10014F002,張大華,基隆市仁愛路25號
    164A24,10014F003,韓國於,高雄市愛河
    164A24,10014F004,柯聞哲,台北市市府路100號
    164A24,10014G005,侯有宜,新北市大同路1199號
    164A24,10014G006,蔡應文,台北市凱達格蘭大道1號
     
    再以 LOAD 匯入資料,例如
    LOAD DATA INFILE "C:/AppServ/www/stmd.txt" INTO TABLE stmd 
         FIELDS TERMINATED BY ",";

    <Questions>
    (1) 如遇資料輸出入權限 (file_priv) 問題,請檢視 MySQL 的 my.ini 內資料夾設定的位置,(a) 將檔案置於所設定的資料夾內,或 (b) 取消權限

    如果要解決這個問題,我們可以使用下面兩種方式:

    ·         將你要導入或匯出的檔位置指定到你設置的路徑裡

    ·         由於不能動態修改,我們可以修改my.ini (my.cnf) 中關於這個選項的配置,secure_file_priv="/",即可將資料匯出到任意目錄。然後重啟 MySQL即可。
    此時預設儲存路徑會在 
    C:\AppServ\MySQL\data\mydb

    (2) 或可在伺服器端加local執行,如下:

    use mydb;
    load data local infile "d:/temp/stmd.txt" into table stmd fields terminated by ',';
     

    <REFERENCES>
    https://www.itread01.com/content/1541813470.html


    參、查詢命令Select
     
    1. 查詢全部
       SELECT * FROM stmd;
     
    2. 查詢並由小到大排序
       SELECT * FROM stmd ORDER BY student_no;
     
    3. 查詢並由大到小排序
       SELECT * FROM stmd ORDER BY student_no DESC;
     
    4. 查詢加上關係條件
       SELECT * FROM stmd WHERE student_no>"10014D006";
     
    5. 查詢加上匹配條件
       SELECT * FROM stmd WHERE student_no LIKE "100%";
     
    肆、更新命令UPDATE
     
    1. 更新某一筆
       UPDATE stmd SET depart_class="164D31",student_name="張三",address="台北市南港區研究院路三段245號"
       WHERE student_no="10014D003";
     
    2. 更新全部
       UPDATE stmd SET depart_class="164D31";
     
    伍、刪除命令DELETE
     
    1. 刪除全部
       DELETE FROM stmd;
     
    2. 刪除某一筆
       DELETE FROM stmd WHERE student_no="10314D002";
     
    陸、作業 : 下列作業的條件可以自行更改

    1. 查詢班級是 "164D31" 的所有紀錄
    2. 查詢學號界於 "10014D001" 到 "10014D005"的所有紀錄,按學號由大到小排列
    3. 查詢學號中有 D,姓名中有陳的所有紀錄,按學號由小到大排列
    4. 更新學生班級 164D31 改 164E11
    5. 更新學生學號  10014D005 的 地址  為 台北市南港區研究院路1段234號
    6. 更新所有學生學號  含 10014Gxxx  的 班級為  164A33
    7. 刪除資管系一年級("164D31")且住在台北市的所有紀錄
    8. 刪除學號 100帶頭非住台北市的所有紀錄
    9. 將所建立的資料庫備份
    10. 利用備份的資料庫還原
    全部共 0則留言
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應