溫瑞烘老師的教學歷程檔案(Teaching ePortfolio) - 101-1-資料庫管理系統 - 建立MySQL資料庫與資料表
 

資訊管理系
副教授
温瑞烘


歷程檔案 Portfolio


關於我 About Me

建立MySQL資料庫與資料表

MySQL – 何謂 Character Sets and Collations

MySQL 是各開源架站系統最偏好的資料庫系統,使用資料庫不用說當然就是存取資料。在資料存取時,最重要的就是編碼問題,

這是中文比英文麻煩之處。

MySQL 有二個與編碼相關的設定:Character Sets (文字編碼)Collations (連線校對)。依據 MySQL 官方說明,此二者說明如下:

Character Sets Collations 的區別

Character set 是一組符號及其編碼。舉例來說:有四個字元『A, B, a, b』,這些字元即所謂的符號 (symbols),而這些符號存在

資料庫有特定的編碼方式
(encodings)。譬如:’0′ 代表 A, ’1′ 代表 B

Collation 則是一組用來比較上述文字編碼的規則 (rules)。譬如:上述 A B 進行比較,我們知道 A < B

因為
A 的編碼 0 B 的編碼 1 來得小,這是所謂的 二進位(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

 

刪除資料庫 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;                    -- 使用資料庫

SHOW CREATE DATABASE mydb;  -- 顯示建立資料庫

CREATE TABLE stmd (            -- 建立資料表

  depart_class   CHAR(6)  COMMENT  '班級代碼',

  student_no     CHAR(9)  COMMENT  '學號',

  student_name   VARCHAR(20) COMMENT  '姓名',

  address        VARCHAR(60) 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;                    -- 使用資料庫

SHOW CREATE DATABASE mydb;  -- 顯示建立資料庫

CREATE TABLE stmd (            -- 建立資料表

  depart_class   CHAR(6)  COMMENT  '班級代碼',

  student_no     CHAR(9)  COMMENT  '學號',

  student_name   VARCHAR(20) COMMENT  '姓名',

  address        VARCHAR(60) 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;                    -- 使用資料庫

SHOW CREATE DATABASE mydb;  -- 顯示建立資料庫

CREATE TABLE stmd (            -- 建立資料表

  depart_class   CHAR(6)  COMMENT  '班級代碼',

  student_no     CHAR(9)  COMMENT  '學號',

  student_name   VARCHAR(20) COMMENT  '姓名',

  address        VARCHAR(60) COMMENT '地址'

);

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

SELECT * FROM stmd;

 

MyphpAdmin 建立MySQL 資料庫

IE執行 http://localhost/PhpMyadmin

 

HediSql 建立MySQL 資料庫

 

 請將整個建立的程序儲存在隨身碟或上傳至個人網路儲存空間,已備下次上課時可立即建立

資料庫環境

 

 

 

 

 

 

 

 

 

 

 

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


文章分類 Labels

 


最新文章 Top10

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