MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:mysql
一、数据库名与表名是严格区分大小写的;sql
二、表的别名是严格区分大小写的;数据库
三、列名与列的别名在全部的状况下均是忽略大小写的;编码
四、字段内容默认状况下是大小写不敏感的。ci
mysql中控制数据库名和表名的大小写敏感由参数lower_case_table_names控制,为0时表示区分大小写,为1时,表示将名字转化为小写后存储,不区分大小写。这个参数不是动态的,修改须要重启服务table
MySQL存储的字段是不区分大小写的。这个有点难以想象。尤为是在用户注册的业务时候,会出现笑话。因此仍是严格限制大小写敏感好比好。二进制
如何避免字段内容区分大小写。就是要新增字段的校验规则。能够看出默认状况下字段内容是不区分大小写的。大小写不敏感。数据
字段值的大小写由mysql的校对规则来控制。提到校对规则,就不得不说字符集。字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则 .tab
通常而言,校对规则以其相关的字符集名开始,一般包括一个语言名,而且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束 。好比 utf8字符集,utf8_general_ci,表示不区分大小写,这个是utf8字符集默认的校对规则;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,一样也区分大小写 。语言