MySQL的校对集

数据库的校对集
1:概述
1:每个字符集对应若干 校对规则(collation)如果不指定,会有默认校对规则
服务器有字符集、数据库有字符集、表有字符集、列有字符集,如果不指定,会 继承字符集,有了字符集如果不设置校对规则,就使用字符集的默认校对规则。在做比较时,最终起作用的是 列的字符集和校对规则
2:比如 table1.col1=table2.col2,首先会拿table1.col1的校对规则与table2.col2的校对规则,进行比较,如果校对规则不兼容,就会出现,类似Error Code: 1267. Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' 的错误
3:必须在数据创建之前声明好,如果数据创建,将无法修改
2:校对集格式
ci: case insensitive,大小写不敏感,不区分大小写比较
cs: case sensitive,大小写敏感,区分大小写比较
bin: binary,二进制,使用二进制比较
3:查看数据库所支持的校对集(所有的)
show collation; 



3:创建表使用不同的校对集
使用utf8中的ci和bin
1:使用数据库
use test;

2;执行创建表
CREATE TABLE my_collate_bin(
NAME CHAR(1)
)CHARSET utf8 COLLATE utf8_bin;

CREATE TABLE my_collate_ci(
NAME CHAR(1)
)CHARSET utf8 COLLATE utf8_general_ci;

3:分别向两张表插入数据
发现没有区别,因为没有对比,是默认的字符集(校对集未生效)


4:根据某个字段进行排序比较
select * from 表名 order by 字段名 desc降序/asc 默认升序


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值