45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > 数据库 >

创建数据库时明确指定字符集和校对规则

电脑软硬件应用网 45IT.COM 时间:2012-08-04 14:59 作者:蔡磊

gbk_bin是二进制存储.区分大小写的

gbk_chinese_ci不区分大小写
1.服务端调整
  [mysqld]
   default-character-set=gbk  #对MYSQL5.1版本增加这一项   --default-character-set is removed in MySQL 5.5.
   default-collation=gbk_bin  #对MYSQL5.1版本增加这一项
   character-set-server=gbk   #对MYSQL5.5版本增加这一项
   collation-server=gbk_bin   #对MYSQL5.5版本增加这一项
   但是建立数据库时如果不指定COLLATTION,则从服务器默认继承gbk_chinese_ci
   
2.客户端调整
mysql>show variables like 'collation_%';#调整前
+---------------------------------------------+
|variable_name           |value               |
|----------------------------------------------
collation_connection     |gbk_chinese_ci      |
|----------------------------------------------
collation_database       |gbk_bin             | -->服务端调整后 (调整前为gbk_chinese_ci)
|----------------------------------------------
collation_server         |gbk_bin             | -->服务端调整后 (调整前为gbk_chinese_ci)
|----------------------------------------------
mysql>set names 'gbk' collate 'gbk_bin';#进行调整后,再看下面
mysql>show variables like 'collation_%';
+---------------------------------------------+
|variable_name           |value               |
|----------------------------------------------
collation_connection     |gbk_bin             |
|----------------------------------------------
collation_database       |gbk_bin             |
|----------------------------------------------
collation_server         |gbk_bin             |
|----------------------------------------------
   
3. 可通过命令检查表的规则
mysql>show   full   columns   from   tbz;
4. 建立数据库,表时指定规则
CREATE DATABASE IF NOT EXISTS TEST DEFAULT CHARACTER SET gbk COLLATE gbk_bin;
CREATE TABLE `tbz` (
  `BZ` varchar(3) NOT NULL,
  `BZMC` varchar(16) NOT NULL,
  `BZBM` varchar(1) DEFAULT NULL,
  `SM` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`BZ`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE gbk_bin ;
5. 显示当前默认规则   这个默认值怎么改呢?
mysql>show collation like 'gbk%';
+---------------------------------------------+------------------------------------------    
|Collation               |Charset             |  Id  |   Default |  Compiled  | Sortlen |
|----------------------------------------------------------------------------------------
|gbk_chinese_ci          |gbk                 |  28  |    YES    |  YES       |    1    |
|gbk_bin                 |gbk                 |  87  |           |  YES       |    1    |
|---------------------------------------------------------------------------------------
6. 字符编码与校对规则优先级
MySQL的字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和字段级。
推荐在创建数据库时明确指定字符集和校对规则,避免受到默认值的影响。
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识