• 数据库忽略大小写


    1. 查看数据库大小写配置

    show variables like '%lower%';

    ±-----------------------±------+
    | Variable_name | Value |
    ±-----------------------±------+
    | lower_case_file_system | ON |
    | lower_case_table_names | 0 |
    ±-----------------------±------+
     、、、、、、、、

    变量 lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感。ON说明对文件名的大小写不敏感,OFF表示敏感。

    (lower_case_table_names)
    unix下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2 .
    参数值 解释:
    0 使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏感的文件系统上将--lowercase-table-names强制设为0,并且使用不同的大小写访问MyISAM表名,可能会导致索引破坏。
    1 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。
    2 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MySQL将它们转换为小写在查找表上。名称比较对大小写不敏感,即按照大小写来保存,按照小写来比较。注释:只在对大小写不敏感的文件系统上适用! innodb表名用小写保存。

    、、、、、、、、、

    2. 使用root权限登录,修改配置文件 /etc/my.cnf
    需要注意的是配置文件的位置不一定就是这个,我们在使用docker搭建环境的时候MySQL的默认配置文件的路径是:/etc/mysql/mysql.conf.d/mysqld.cnf,所以在修改的时候我们需要明确配置文件的路径


     3. 在配置文件的[mysqld]节点下,加入一行:

    lower_case_table_names=1

    4. 重启MySQL :

    systemctl restart mysqld.service

    ======================================

    编码区别
    在mysql中存在着各种utf8编码格式:
    utf8_bin:将字符串中的每一个字符用二进制数据存储,区分大小写(在二进制中 ,小写字母 和大写字母 不相等.即 a !=A)。
    utf8_genera_ci:不区分大小写,ci为case insensitive的缩写(insensitive ; 中文解释: adj. 感觉迟钝的,对…没有感觉的),即大小写不敏感。
    utf8_general_cs:区分大小写,cs为case sensitive的缩写(sensitive 中文解释:敏感事件;大小写敏感;注重大小写;全字拼写须符合),即大小写敏感
    utf8_unicode_ci:不能完全支持组合的记号。

    utf8_general_ci与utf8_unicode_ci

    一句话概况:utf8_unicode_ci比较准确,utf8_general_ci速度比较快。

    utf8_general_ci与utf8_bin

    用utf8_genera_ci没有区分大小写,导致这个字段的内容区分大小写时出问题:
    作为密码时就会出现不合理的方面;
    而验证码则一般不区分大小写,所以用这个就合理
    utf8_general_cs这个选项一般不用,所以使用utf8_bin区分大小写

    修改编码
    两种修改方案:

    1、通过SQL(结构化查询语言(Structured Query Language))来修改
    alter table emp modify ename varchar(30) collate utf8_general_ci
    2、直接通过设计表,点击需要修改字段,直接可修改utf8_general_ci为utf8_bin。

  • 相关阅读:
    [转]多线程更新Processbar
    不能因技术后天的死 而迷茫了今天的“学” 生
    NSIS 安装包制作相关
    [转]yslow 评分标准
    c# winform 打印 窗体 及 窗体控件内容 的 初级尝试
    严重认知自身成长 与诸博友共勉
    [转]NSIS 的 Modern UI 教程
    爱的幸福
    遍历WinForm窗体 根据语言类型设置其控件Text显示
    多借鉴 多思考
  • 原文地址:https://www.cnblogs.com/KL2016/p/16689912.html
Copyright © 2020-2023  润新知