rjdbc mysql 字段大写_MySQL数据库中库、表名、字段的大小写问题

MySQL数据库中库、表名、字段的大小写问题

在使用MySQL建库的过程中发现了一个问题,无论怎么创建库,创建出来的库名都是小写的。然后上网查了一下资料。

在MySQL中,数据库和表都是对应目录下的一个或多个文件。因此,操作系统的大小写是否敏感决定了数据库大小写是否敏感。而在Windows中是对大小写不敏感的(Linux是对大小写敏感的)。

下图是在windows操作系统上MySQL中lower_case_table_system和lower_case_table_names的默认值。

7408981c4cdf4ad3843d22c35b3ad1b5.png

下图是在Linux操作系统上MySQL中lower_case_table_system和lower_case_table_names的默认值。

26a59265fa4bc2c2afae9fefe6316db5.png

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

lower_case_table_names参数说明

当值为0时

使用CREATE TABLE或CREATE DATABASE语句制定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows

或Max OS x上我们不能将参数设为0,如果再大小写不敏感的文件系统上将“lower_case_table_names”强制设置为0,并使用不同的大小写访问MyISAM表名,可能会导

致索引破坏。

当值为1时

表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写存储和查找表上。该行为也适合数据库名和表的别名,该值为Windows的默认值。

当值为2时

表名和数据库名在硬盘上使用CREATETABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MySQL将它们转换为小写在查找表上。名称比较对大小写不

敏感,即按照大小写来保存,按照小写来比较。注意:只在对大小写不敏感的文件系统上适用!innodb表名用小写保存。

那么现在问题来了,如何将Linux操作系统上有大小写的数据库还原到Windows操作系统上?

1、  将数据库数据通过mysqldump导出

2、  在my.cnf或my.ini中更改lower_case_table_names=1,并重启Mysql服务。

3、  将导出的数据导入MySQL数据库中。

在MySql上为了避免大小写问题引来的不必要的麻烦,建议都将“lower_case_table_names”设置值为1。我们可以用其他的方式来命名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值