mysql校对规则引起的不区分大小写

CREATE TABLE `staticcatalogue` (
`Source` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ‘‘,
`CreatedDate` datetime DEFAULT NULL,
`Val_tr` text CHARACTER SET utf8 COLLATE utf8_turkish_ci,
`Val_ro` text CHARACTER SET utf8 COLLATE utf8_romanian_ci,
`Val_gr` mediumtext CHARACTER SET greek,
`Val_ar` mediumtext CHARACTER SET cp1256,
`Val_fr` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci,
PRIMARY KEY (`Source`),
KEY `PermissionID` (`PermissionID`),
CONSTRAINT `staticcatalogue_ibfk_1` FOREIGN KEY (`PermissionID`) REFERENCES `permission` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘Static language catalogue‘

这个创建表的SQL语句里包含了很多的校对规则,当与其他表连接进行查询的时候,Source字段会区分大小写,其他字段的校对是....._ci,是不区分大小写的。若要比较时Source不区分大小写可以再比较语句后添加COLLATE utf8_general_ci,如......LEFT JOIN staticcatalogue x2 ON x2.Source = c.Name COLLATE utf8_general_ci

mysql默认是不区分大小写的。查看一个表的详细信息可以使用命令: show create table talename.

mysql校对规则引起的不区分大小写

时间: 2024-11-03 21:23:58

mysql校对规则引起的不区分大小写的相关文章

MySQL:校对规则

校对规则:在当前编码下,字符之间的比较顺序.(cs大小写敏感,ci大小写不敏感,bin二进制编码比较) 1. 查看当前校对规则 show collation; 每个字符集都支持不定数量的校对规则,下图为查看结果的部分截图: tip : 以big5_chinese_ci为例,其中big5表示字符集,ci表示校对规则,即 "字符集_地区名_校对规则": 校对规则是依赖字符集而存在的,在设置字符集时,可以设置当前字符集的校对规则. 如果不设置校对规则,字符集会使用默认的校对规则. 2. 查看

mysql大小写敏感与校对规则

大家在使用mysql过程中,可能会遇到类似一下的问题: [email protected] 07:42:00>select * from test where c1 like 'ab%'; +-----+ | c1 | +-----+ | abc | | ABD | +-----+ 模糊匹配 ab%,结果以AB开头的字符串也出现在结果集中,大家很自然的认为是大小写敏感的问题.那么mysql中大小写敏感是如何控制的:数据库名,表名,字段名这些字典对象以及字段值的大小敏感是如何控制的:以及校验规则与

mysql字符集和校对规则(Mysql校对集)

字符集的概念大家都清楚,校对规则很多人不了解,一般数据库开发中也用不到这个概念,mysql在这方便貌似很先进,大概介绍一下简要说明 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则. MySql在collation提供较强的支持,oracel在这方面没查到相应的资料. 不同字符集有不同的校对规则,命名约定:以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)._cs(大小写敏感)或_bin(二元)结束 校对规则一般分为两类: binary

Mysql字符集以及校对规则

编码:计算机都是二进制存储,因此需要将显示符号转换成二进制数才能存储,每个字符所转换成的二进制数,就是字符编码. 字符集 字符用于显示的抽象符号.字符集是一套字符与字符编码的集合. 常见的字符集编码: Ascii字符集,GB2312字符集,gbk字符集,latin1字符集,unicode字符集等. show character set;可以获得MySQL支持的所有字符集. 修改数据库字符集 alter database liguodong character set utf8; MySQL可以使

mysql字符集与校对规则---大小写敏感那点事

在关系型数据库中,oracle/sql_server/db2都有对数据进行区分大小写,不过mysql有点奇怪,对数据不区分大小写,详细情况请看下面解析. MySQL在Linux下数据库名.表名.列名.别名大小写的默认规则是这样的: 1.数据库名与表名是严格区分大小写的. 2.表的别名是严格区分大小写的. 3.列名与列的别名在所有的情况下均是忽略大小写的. 4.字段内容(即数据)默认情况下是大小写不敏感的. 5.变量名(函数和存储过程)也是严格区分大小写的. 所以不禁我们就会想去修改,而控制这些的

MySQL之字符集-校对规则

一.字符集(Character set) 是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同. 特点: ①字符编码方式是用一个或多个字节表示字符集中的一个字符 ②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制 常见字符集: ASCII字符集:基于罗马字母表的一套字符集,它采用1个字节的低7位表示字符,高位始终为0. LATIN1字符集:相对于ASCII字符集做了扩展,仍然使用一个字节表示字符,

mysql中字符集和校对规则

首先,明确一下字符集和校对规则的概念:    字符集(charset):是一套符号和编码    校对规则(collation):是在字符集内用于比较字符的一套规则,比如有的规则区分大小写,有的则无视 mysql服务器能够支持多种字符集,可以使用SHOW CHARACTER SET语句列出可用的字符集.如果希望列出一个字符集的校对规则,可以使用SHOW COLLATION语句.例如,如果希望查询以latin1开头的校对规则,可以使用如下语句SHOW COLLATION LIKE 'latin1%'

MySQL字符集和校对规则

一.字符集 字符集:就是一对文字符号及其编码比较的集合 二.常用字符集: ASCII:主要用于显示英语和其他西欧语言.长度为一个字节UTF-8:互联网广泛支持的Unicode字符集,长度为一到四个字节 GBK:主要用于显示汉字,长度为二个字节 三.查看MySQL的字符集和校对规则 1.查看MySQL服务器的字符集 show charsetset/character set 2.查看字符集的校对规则 show collation; 3.查看当前数据库的字符集 mysql> show variabl

mysql中的字符集和校对规则(mysql校对集)

1.简要说明介绍 字符集和校对规则 字符集是一套符号和编码.校对规则是在字符集内用于比较字符的一套规则. MySql在collation提供较强的支持,oracel在这方面没查到相应的资料. 不同字符集有不同的校对规则,命名约定:以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)._cs(大小写敏感)或_bin(二元)结束 校对规则一般分为两类: binary collation,二元法,直接比较字符的编码,可以认为是区分大小写的,因为字符集中'A'和'a'的编码显然不同.