• MySQL表名区分不区分大小写,规则是怎样


    MySQL表名区分不区分大小写,规则是怎样

    mysql在linux中表名区分大小写,mysql在Windows中表名不区分大小写;可以在MySQL的配置文件“my.ini [mysqld]”中增加一行“lower_case_table_names= 参数”来设置是否区分大小写。


    mysql的表名区分大小写吗

    MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

    数据库名与表名是严格区分大小写的;

    表的别名是严格区分大小写的;

    列名与列的别名在所有的情况下均是忽略大小写的;

    变量名也是严格区分大小写的;

    MySQL在Windows下都不区分大小写。

    所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Windows环境下只要对数据库的配置做下改动就行了,

    具体操作如下:

    在MySQL的配置文件中my.ini [mysqld]中增加一行lower_case_table_names = 1


    参数解释:


    0:区分大小写


    1:不区分大小写

    在 MySQL中,数据库和表对就于那些目录下的目录和文件。

    因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在Windows 中是大小写不敏感的,而在大多数类型的 Unix系统中是大小写敏感的。

    列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。或者也可以强制以 -O lower_case_table_names=1 参数启动

    mysqld(如果使用 --defaults-file=...\my.cnf参数来读取指定的配置文件启动 mysqld的话,你需要在配置文件的 [mysqld] 区段下增加一行lower_case_table_names=1)。这样MySQL将在创建与查找时将所有的表名自动转换为小写字符这个选项缺省地为 1 ,在 Unix 中为 0。

  • 相关阅读:
    [Spring笔记] Spring-22-注解开发依赖注入
    【React】useSyncExternalStore的作用是什么,怎么使用
    linux使用iptables屏蔽ip地址
    WebSocketSession 发布订阅模式的学习
    CVE-2017-12615 Tomcat远程命令执行漏洞
    【Nexus】安装配置与使用
    新电脑配置前端环境
    安全高效应对混合办公新趋势 腾讯四大协同办公产品亮相
    这玩意儿都能优化?果然是细节都在魔鬼里。
    基于STM32动态密码锁(手机APP)_2022
  • 原文地址:https://blog.csdn.net/airen3339/article/details/133699050