溫瑞烘老師的教學歷程檔案(Teaching ePortfolio) - 104-2-四技資管二甲乙資料庫管理系統 - 第1週-MySQL資料庫管理系統
 

資訊管理系
副教授
温瑞烘


歷程檔案 Portfolio


關於我 About Me

第1週-MySQL資料庫管理系統

第一週 MySQL 資料庫管理系統

 MySQL(讀作/maɪ ˈsiːkwəl/ "My Sequel")原本是一個開放原始碼關聯式資料庫管理系統,原開發者為瑞典MySQL AB公司,該公司於2008年被昇陽微系統Sun Microsystems)收購。2009年,甲骨文公司Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。

MySQL在過去由於效能高、成本低、可靠性好,已經成為最流行的開放源碼(Open Source)資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科GoogleFacebook等網站。非常流行的開放源碼軟體組合LAMP中的「M」指的就是MySQLL:LinuxA:Apache(Web網站伺服器)M:MySQLP:PHP程式語言。

 

考慮使用 MySQL 的原因
如果你要找的是可靠的資料庫軟體,以便支援你軟體開發的工作,那麼以下的原因說明了為什麼你應該考慮 MySQL

1.它便宜(通常是免費)。

2.它的網路承載比較少。

3.它經過高度最佳化(Highly Optimized)。

4.應用程式透過它做起備份來比較簡單。

5.它為各種不同的資料格式提供提供彈性的介面。

6.它較好學,且操作簡單。

7.它標榜的是,你負擔得起的客戶支援。

 

AppServ是一個在Windows平台運行的WAMP開源工具,起源於泰國。這個開源工具包含了ApacheMySQLPHP的安裝及自動配置,並透過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、繁體中文大五碼big5 或簡體中文 gb 等,若想同時容納數種不同語言(繁體、簡體、日文等),utf8 是最佳選擇。可以使用 『show variables like "%character"』及『show variables like "%collation%"』查看資料庫設定。

>show variables like "%character"

 

變數名稱(variable_name)

(value)

character_set_client (前端)

utf8

character_set_connection (連線)

utf8

character_set_database(資料庫)

utf8

character_set_filesystem(檔案系統)

binary

character_set_results(查詢結果集)

utf8

character_set_server(伺服器)

latin1

character_set_system(作業系統)

utf8

character_sets_dir(所在目錄)

/usr/share/mysql/charsets/

 

collation 選擇 utf8-_general_cici 表示 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]

 

 

作業: 有一資料如下,請利用三種介面並利用latinBig5、與UTF8三種字元編碼建立資料庫與資料表,解決碰到的問題

 

班級代碼

學號

姓名

地址

164D21

10014D001

張中華

台北市南港區研究院路3245

 

由 命令列 建立MySQL 資料庫

    開始à執行àcmdà

       mysql -u root -p
       1234

使用拉丁語系看看結果如何

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","張中華","台北市南港區研究院路3245");

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","張中華","台北市南港區研究院路3245");

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 '地址',
  primary key(student_no)

) comment '班級代碼表';

INSERT INTO stmd VALUES("164D21","10014D001","張中華","台北市南港區研究院路3245");

SELECT * FROM stmd;

 

MyphpAdmin 建立MySQL 資料庫

IE執行 http://localhost/PhpMyadmin

 

HediSql 建立MySQL 資料庫

作業: 

請將整個建立的程序儲存在隨身碟或上傳至個人網路儲存空間,已備下次上課時可立即建立資料
也就是將整個建立資料庫、資料表、與插入資料的命令儲存在一個 .sql 檔案,再利用 FileZilla
上傳至 www 目錄下

最後在ePortfolio上建立 104-2-資料庫管理系統版面, 建立 第一週作業貼上本日所有的命令

全部共 0則留言
登入帳號密碼代表遵守學術網路規範
 


文章分類 Labels

 


最新文章 Top10

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