日期:2014-05-16  浏览次数:20696 次

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
) 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

default-character-set=utf8
default-collation=utf8_general_ci

?

11.MySQL服务器能够支持多种字符集。可以使用SHOW CHARACTER SET语句列出可用的字符集:

mysql> SHOW CHARACTER SET;


如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。