![]() |
溫瑞烘老師的教學歷程檔案(Teaching ePortfolio) - 104-2-四技資管二甲乙資料庫管理系統 - 第1週-MySQL資料庫管理系統 |
| 第1週-MySQL資料庫管理系統第一週 MySQL 資料庫管理系統 MySQL(讀作/maɪ ˈsiːkwəl/ "My Sequel")原本是一個開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。 MySQL在過去由於效能高、成本低、可靠性好,已經成為最流行的開放源碼(Open Source)資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開放源碼軟體組合LAMP中的「M」指的就是MySQL,L:Linux、A:Apache(Web網站伺服器)、M:MySQL、P:PHP程式語言。 考慮使用 MySQL 的原因 1.它便宜(通常是免費)。 2.它的網路承載比較少。 3.它經過高度最佳化(Highly Optimized)。 4.應用程式透過它做起備份來比較簡單。 5.它為各種不同的資料格式提供提供彈性的介面。 6.它較好學,且操作簡單。 7.它標榜的是,你負擔得起的客戶支援。 AppServ是一個在Windows平台運行的WAMP開源工具,起源於泰國。這個開源工具包含了Apache、MySQL和PHP的安裝及自動配置,並透過phpMyAdmin來管理MySQL。由於 AppServ 的簡捷配置,香港早期的教育軟體平台都是基於AppServ,以方便對伺服器知識未必足夠的教師可以自行在學校安裝。可自行搜尋AppServ下載安裝。 何謂 Character Sets and Collations MySQL 是各開源架站系統最偏好的資料庫系統,使用資料庫不用說當然就是存取資料。在資料存取時,最重要的就是編碼問題,這是中文比英文麻煩之處。 MySQL 有二個與編碼相關的設定:Character Sets (文字編碼)、Collations (連線校對)。依據 MySQL 官方說明,此二者說明如下: Character Sets 與 Collations 的區別 Character set 是一組符號及其編碼。舉例來說:有四個字元『A, B, a, b』,這些字元即所謂的符號 (symbols),而這些符號存在資料庫有特定的編碼方式 (encodings)。譬如:十六進位40 代表 A,十六進位41代表 B。 Collation 則是一組用來比較上述文字編碼的規則 (rules)。譬如:上述 A 與 B 進行比較,我們知道 A < B,因為 A 的編碼 40 比 B 的編碼 41 來得小,這是所謂的 二進位(binaray),此外還有 區分大小寫(case sensitive),與不區分大小寫(case insensitive)等。
Character Sets 與 Collations 的設定 MySQL預設的編碼與校對都是 Latin1,但對中文來說,比較適當的方式應該是萬國碼utf8、繁體中文大 >show variables like "%character"
collation 選擇 utf8-_general_ci,ci 表示 case insensitive。
MySQL資料庫操作 刪除資料庫 DROP DATABASE 資料庫名; 語法:DROP DATABASE IF EXISTS db_name 建立資料庫 CREATE DATABASE 資料庫名; 語法:CREATE DATABASE db_name 使用資料庫 USE 資料庫名; 語法:USE db_name 建立資料表 CREATE TABLE 資料表名 (欄位1 資料型態, 欄位2 資料型態, ......); 語法: CREATE TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [select_statement] 作業: 有一資料如下,請利用三種介面並利用latin、Big5、與UTF8三種字元編碼建立資料庫與資料表,解決碰到的問題
由 命令列 建立MySQL 資料庫 開始à執行àcmdà mysql -u root -p DROP DATABASE IF EXISTS mydb; -- 刪除資料庫 CREATE DATABASE mydb DEFAULT CHARACTER SET latin1; -- 建立資料庫 拉丁語系 USE mydb; -- 使用資料庫 CREATE TABLE stmd ( -- 建立資料表 depart_class CHAR(6) COMMENT '班級代碼', student_no CHAR(9) COMMENT '學號', student_name VARCHAR(20) COMMENT '姓名', address VARCHAR(60) COMMENT '地址' ) comment '班級代碼表'; INSERT INTO stmd VALUES("164D21","10014D001","張中華","台北市南港區研究院路3段245號"); SELECT * FROM stmd; 再使用Big5看看結果如何 DROP DATABASE IF EXISTS mydb; -- 刪除資料庫 CREATE DATABASE mydb DEFAULT CHARACTER SET big5; -- 建立資料庫 繁體中文 USE mydb; -- 使用資料庫 CREATE TABLE stmd ( -- 建立資料表 depart_class CHAR(6) COMMENT '班級代碼', student_no CHAR(9) COMMENT '學號', student_name VARCHAR(20) COMMENT '姓名', address VARCHAR(60) COMMENT '地址' ) comment '班級代碼表'; INSERT INTO stmd VALUES("164D21","10014D001","張中華","台北市南港區研究院路3段245號"); SELECT * FROM stmd; 再使用Utf8看看結果如何 DROP DATABASE IF EXISTS mydb; -- 刪除資料庫 CREATE DATABASE mydb DEFAULT CHARACTER SET 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 '地址', ) comment '班級代碼表'; INSERT INTO stmd VALUES("164D21","10014D001","張中華","台北市南港區研究院路3段245號"); SELECT * FROM stmd; 由 MyphpAdmin 建立MySQL 資料庫 以IE執行 http://localhost/PhpMyadmin 由 HediSql 建立MySQL 資料庫 作業: 請將整個建立的程序儲存在隨身碟或上傳至個人網路儲存空間,已備下次上課時可立即建立資料
|
|
中華科技大學數位化學習歷程 - 意見反應 | ![]() |