好久没来csdn上面写东西了,昨天面试官说想看看我的博客,才发现好久没用csdn了,因为我后面转用了有道云,无网的情况也能拿出来看。
昨天被问到一个MySQL是否区分大小写,我第一反应是区分的,但是其中的原理却不大清楚,今天特意问了一下同事,也查询了一些资料,
在Linux下MySQL是区分大小写的,在Windows下MySQL查询是不区分的,
当然,这个是可以设置的,如何设置网上有一大堆教程,
我就不班门弄斧啦,我发现区分大小写跟跟字符集也有关系,这就得说说utf8_bin跟utf8_general_ci的区别 ,一下引用别人的研究—
ci是 case insensitive, 即 “大小写不敏感”, a 和 A 会在字符判断中会被当做一样的;bin 是二进制, a 和 A
会别区别对待.例如你运行:SELECT * FROM table WHERE txt = 'a’那么在utf8_bin中你就找不到 txt
= ‘A’ 的那一行, 而 utf8_general_ci 则可以.