MYSQL引擎與字符設置簡析

當年創建一個新表的時候,你可以通過添加一個ENGINE 或TYPE 選項到CREATE TABLE語句來告訴MySQL你要創建什麼類型的表:

 

CREATE TABLE t (i INT) ENGINE = INNODB;

 

CREATE TABLE t (i INT) TYPE = MEMORY;

 

要把一個表從一個類型轉到另一個類型,可使用ALTER TABLE語句,這個語句指明新的類型:

 

ALTER TABLE t ENGINE = MYISAM;

 

ALTER TABLE t TYPE = BDB;

 

mysql 建表字符集 

 

1.列出MYSQL支持的所有字符集:

SHOW CHARACTER SET;

 

2.當前MYSQL服務器字符集設置

SHOW VARIABLES LIKE 'character_set_%';

 

3.當前MYSQL服務器字符集校驗設置

SHOW VARIABLES LIKE 'collation_%';

 

4.顯示某數據庫字符集設置

show create database 數據庫名;

 

5.顯示某數據表字符集設置

show create table 表名;

 

6.修改數據庫字符集

alter database 數據庫名 default character set 'utf8';

 

7.修改數據表字符集

alter table 表名 default character set 'utf8';

 

8.建庫時指定字符集

create database 數據庫名 character set gbk collate gbk_chinese_ci;

 

9.建表時指定字符集

CREATE TABLE `mysqlcode` (

`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`content` VARCHAR( 255 ) NOT NULL  www.aiwalls.com  

) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;

 

庫字符集,在my.cnf中缺少瞭如下代碼:

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

 

10.修改數據庫的字符集

   mysql>use mydb

   mysql>alter database mydb character set utf-8;

 

創建數據庫指定數據庫的字符集

   mysql>create database mydb character set utf-8;

 

通過配置文件修改:

 

修改/var/lib/mysql/mydb/db.opt

default-character-set=latin1

default-collation=latin1_swedish_ci

為  www.aiwalls.com  

default-character-set=utf8

default-collation=utf8_general_ci

 

11.MySQL服務器能夠支持多種字符集。可以使用SHOW CHARACTER SET語句列出可用的字符集:

 

mysql> SHOW CHARACTER SET;

 

如果不加以上代碼,那麼即便MYSQL編譯安裝時指定的編碼是UTF8,那麼在建庫時其默認編碼仍是LATIN1,而由於字符集的繼承性,庫中的表也是LATIN1的瞭。

 

 

 

作者 DouglasLau

發佈留言