首页 > 编程知识 正文

mysql表名大小写敏感,sql语句表名区分大小写吗

时间:2023-05-06 19:19:47 阅读:19255 作者:843

MySQL在Linux上的数据库名称、表名称、列名称和别名的大小写规则如下:

1、数据库名和表名严格区分大小写

2、表格别名严格区分大小写

3、列名和列别名均忽略大小写;

4、变量名也严格区分大小写

MySQL在Windows上不区分大小写。

因此,为了使程序和数据库在不同的操作系统上正常运行,最好在设计时转换为小写字母,但如果设计时大小写标准化,则在Windows环境中更改数据库配置就足够了。 具体操作如下。

将my.ini [mysqld]行添加到MySQL配置文件中

lower_case_table_names=1

参数说明:

0 :区分大小写

1 :不区分大小写

在MySQL中,数据库/表对位于它们目录下的目录和文件中。 因此,操作系统的机密性区分数据库和表名称的大小写。 也就是说,Windows不区分大小写,大多数类型的Unix系统都区分大小写。

奇怪的是,列名和列别名在所有情况下都忽略大小写,而表别名区分大小写。

为了避免出现此问题,在定义数据库命名约定时,建议使用所有小写字母和下划线组合,而不使用大写字母。

或者,也可以使用-O lower_case_table_names=1参数强制启动mysqld。 如果使用--defaults-file=.my.cnf参数读取指定的配置文件并启动mysqld,则必须启动配置文件中的[mysqld],这将导致MySQL在创建和搜索时(默认情况下,此选项在Windows上为1,在Unix上为0。 从MySQL 4.0.2开始,此选项也适用于数据库名称)。

如果威武的发卡更改此选项,则在启动mysqld之前必须先将旧表名转换为小写。

也就是说,如果在数据库中创建表时要保持大小写状态,则必须将此参数设置为0。 0: lower_case_table_names=1。 否则,您会看到操作系统最终导入相同sqldump脚本的结果不同(Windows上所有大小写均为小写)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。