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

MySQL字符集修改命令

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

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;

抱歉!评论已关闭.