现在的位置: 首页 > 综合 > 正文

MySQL字符集修改命令

2018年05月15日 ⁄ 综合 ⁄ 共 1787字 ⁄ 字号 评论关闭

1.修改服务器级
a. 临时更改:
mysql
>SET GLOBAL
character_set_server=utf8;
b. 永久更改:
shell>vi
/etc/my.cnf
[mysqld]
default-character-set=utf8
2.修改数据库级
a.
临时更改:
mysql
>SET GLOBAL
character_set_database=utf8;
b. 永久更改:
改了服务器级就可以了
3.修改表级
mysql
>ALTER TABLE table_name DEFAULT CHARSET
utf8;
更改了后永久生效
4.修改列级
修改示例:
mysql
>ALTER
TABLE `products` CHANGE `products_model`
`products_model` VARCHAR( 20 )
CHARACTER SET utf8 COLLATE utf8_general_ci
NULL DEFAULT NULL;
更改了后永久生效
5.更改连接字符集
a. 临时更改:
mysql
> SET NAMES utf8;
b. 永久更改:
shell>vi
/etc/my.cnf
在[client]中增加:
default-character-set=utf8

------------------------------------------------------------------------------------------------

例如:我在安装mysql5.0用了utf-8,执行以下语句之后

CREATE TABLE beer (
id
int(10) unsigned NOT NULL auto_increment,
business_id int(10) unsigned NOT
NULL default '0',
name varchar(255) NOT NULL default '',
price
varchar(255) NOT NULL default '',
UNIQUE KEY id (id)
) TYPE=MyISAM;

varchar的字符串集是utf-8,那我怎样设置为gbk呢?

当然可以直接在后面加,但是我有好几十个表.一一加就有点笨,请各位引路了.

不知道你是不是想像下面那样作转换:
CREATE TABLE `books` (
`id` varchar(8) NOT NULL
default '',
`name` varchar(24) default NULL,
`title` varchar(96) default
NULL,
`price` float default NULL,
`yr` int(11) default NULL,

`description` varchar(30) default NULL,
`saleAmount` int(11) default
NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

这个表的类型为varchar的字段的字串集都是utf8,数据库的字符集也为utf8;
mysql
> alter table books convert to character set
gbk;作转换后变成:
CREATE TABLE `books` (
`id` varchar(8) character set gbk NOT
NULL default '',
`name` varchar(24) character set gbk default NULL,

`title` varchar(96) character set gbk default NULL,
`price` float
default NULL,
`yr` int(11) default NULL,
`description` varchar(30)
character set gbk default NULL,
`saleAmount` int(11) default NULL,

PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

明显可以看到字段类型为varchar的字符集都变成了gbk,但是数据库的字符集仍为utf8;

如果想连数据库的字符集也变成gbk,就要用
mysql
> alter
database bookdb default character set gbk;

把现在的表导出来,然后把所有的 DEFAULT CHARSET=utf8之类的语句改成DEFAULT CHARSET=gbk,再运行,就行了

抱歉!评论已关闭.