MySQL中文标题大小写区分问题探讨

结论: MySQL默认区分大小写,中文标题不区分大小写。
解决方案: 1 、中文标题用反引号括起来。
2 . 大小写标准化,使用大写或小写。
3 . 使用COLLATE指定列,例如utf8 _general_ci。
注意事项: 1 、注意不同MySQL版本的大小写敏感。
2 . 避免同一数据库中中文标题大小写不同。
实际例子: 2 02 3 年5 月,在项目A的数据库B中创建表EmployeeInfo,字段为name和age。
代码示例: sql 创建表employee_info(名称VARCHAR(5 0),年龄INT);

mysql是否区分大小写?

上周查看了 MySQL 文档。

当small_case_table_names=0时。
表名区分大小写。

2 02 3 年 8 月。
我在 Linux 虚拟机上测试了它。

当small_case_table_names=1 时。
表名不区分大小写。

朋友问我。

MySQL 标准。
不区分大小写字母。

VARCHAR 字段。
默认不区分大小写。

排序规则以_bin为单位。
将区分大小写。

utf8 mb4 _unicode_ci。
不区分大小写字母。

utf8 mb4 _bin。
区分大小写字母。

库的标准字符编码和排序。
应该是一致的。

未指定字符集。
与库设置相同。

在Linux下。
默认表名区分大小写。

在Windows下。
默认表名不区分大小写。

调整大小写字母的使用。
很简单。

使用ROOT登录。

编辑/etc/my.cnf。

[mysqld] 部分。
添加一行。

lower_case_table_names=1
重新启动数据库服务。

就是这样。

mysql 设置大小写

对于 MySQL,有两件事需要理解。

1 .全局服务器设置
1 . lower_case_table_names 参数
此设置控制数据库和表名称是否区分大小写。

0:区分大小写。
Linux/Unix默认为该设置,必须在初始化前设置,否则MySQL可能无法启动。

1 :不区分大小写。
Windows 默认使用此设置。
所有名称均以小写形式保存,并在搜索时自动转换。

2 :数据库名不区分大小写,但表名区分大小写。
这适合跨平台使用,但有点不兼容。

注意:更改此设置需要重新启动 MySQL 服务。
Linux/Unix 系统只能在首次启动时更改,否则必须重建数据目录。

2 sql_mode参数
此设置控制 SQL 语句的严格性和区分大小写。

当设置为STRICT_TRANS_TABLES时,MySQL将对SQL关键字(例如SELECT、FROM)和函数名称区分大小写。

当设置为其他值(如ANSI或undefined)时,不区分大小写。

建议:开发环境可以宽松一点,这样兼容性好。
生产环境取决于业务的需求。

2 数据库和表命名约定
1 .一致使用小写字母
数据库名和表名最好使用小写字母,如user_data而不是UserData。

这样跨平台时就不会出现问题(例如Linux区分大小写,Windows不区分大小写)。

2 用下划线分隔单词
使用下划线(_)而不是驼峰式命名法,这样 order_details 比 orderDetails 更好。

这样,代码易于阅读,并且不易因命名风格不同而造成维护问题。

3 选择一个简洁且独特的名称
命名必须简洁、清晰,不得使用保留字(如命令、组)。

确保该名称在数据库中是唯一的。
例如,表名可以加上前缀(如app_user),这样就可以区分是哪个应用程序的数据。

老实说,对于 MySQL,您需要同时查看服务器设置和命名约定。
全局设置直接影响数据存储和检索行为,命名约定主要是为了避免人为错误。
部署到多平台或升级版本时,要特别注意参数变化(例如MySQL 8 .0默认sql_mode可能有STRICT_TRANS_TABLES),否则系统可能不稳定。

MySQL 数据库名和表名区分大小写吗?

老实说,MySQL 是依赖于操作系统的。
在 Windows 系统上,数据库和表名称不区分大小写。
例如,如果你称它为database、DATABASE或Database,MySQL也会同样对待它。
为什么? Windows 文件系统(如 NTFS)不区分大小写,MySQL 也不区分大小写。

Unix/Linux不同,默认是区分的。
例如数据库和Database都是MySQL所识别的。
为什么?由于 Unix/Linux 文件系统(如 ext4 、XFS)通常区分大小写,MySQL 也会效仿。

但是,MySQL 也有自己的设置,称为 lower_case_table_names。
这个东西允许你手动改变它。
共有三个可用值:
1 . 0:Unix/Linux 默认,区分大小写。
您可以保存您创建的任何内容,并且在检查时它必须完全相同。
2 . 1 :Windows 默认,不区分大小写。
保存时更改所有小写字母,搜索时忽略大小写。
3 . 2 :这个比较特殊,只在Unix/Linux上使用,必须在创建数据库时设置。
大写字母在创建过程中会被保留,但在搜索过程中会被忽略。

实际上,在平台之间迁移数据库时,建议使用小写名称以避免出现问题。
编辑 lower_case_table_names 时要小心。
这只能在数据库初始化期间更改。
如果更改晚了,可能会出现问题。
代码中引用数据库名、表名时,风格必须一致,不能大小写字母混用,以免检查时出现不匹配的情况。

就是这样。