Mysql、Oracle区分大小写?

Mysql

  • Windows 系统的文件名不区分大小写,所以运行在 Windows 系统上面的 MySQL 服务器也不用区分数据库名和表名的大小写。
  • Linux 系统大小写规则:
    • 数据库名表名严格区分大小写
    • 表的别名严格区分大小写
    • 变量名严格区分大小写
    • 列名列的别名忽略大小写
  • MacOS 平台,其文件系统中的名字是个例外,它们不区分大小写

Linux 系统的文件名区分大小写,所以运行在 Linux 系统上的 MySQL 服务器需要区分数据库名和表名的大小写。可在配置文件 my.cnf 中添加选项 lower_case_table_names=1 使其表名不区分大小写。

想要避免大小写问题,可以先选定一种大小写方案,然后一直按照该方案去创建数据库和表。

在阿里巴巴 Java 开发手册的 MySql 建表规约里提到:

【强制】表名、字段名必须使用小写字母数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。

通俗的说就是,MySQL 在 Windows 系统下不区分大小写,但在 Linux 系统下默认区分大小写。因此,数据库名、表名和字段名,都不允许出现任何大写字母,避免节外生枝。

Oracle

Oracle 不区分大小写,默认全是大写。Oracle会把表名、字段名全部转化为大写形式然后写入数据字典;如果需要区分大小写,使用双引号 " ",强制区分大小写。

访问数据字典时,如果没有双引号 " ",Oracle会将其转化成大写形式然后再去数据字段中查找。如果加上双引号 " "则能区分大小写。

不仅仅关键字不区分大小写,函数名、过程名、表名称、pl/sql块中变量名、用户名、密码等都不区分大小写。所以在Oracle中,还是建议全部用大写

总之,Oracle 默认情况下是不区分大小写的,但在使用双引号 " "括起来的标识符时,是区分大小写的。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Polardb是阿里云推出的一种云原生关系型数据库服务,支持MySQL、PostgreSQL和Oracle三种数据库引擎,但是它并不是一个独立的数据库软件,而是基于开源的数据库软件进行二次开发和优化。在Polardb中,可以通过设置字符集和校对规则来确定是否区分大小写。 如果需要在Polardb中设置不区分大小写,可以使用如下的步骤: 1. 登录Polardb数据库的控制台,进入实例详情页。 2. 在实例详情页中,找到“数据库连接”栏目,记录下当前的数据库端口号和连接地址(如:rm-xxxxxxx.polardb.cn-zhangjiakou.rds.aliyuncs.com:3433)。 3. 在本地安装MySQL客户端软件(如:MySQL Workbench),使用上述记录的连接地址和端口号,以及正确的用户名和密码,连接到Polardb数据库。 4. 在MySQL客户端中,执行如下命令,设置不区分大小写: ``` mysql> SET collation_connection = 'utf8_general_ci'; ``` 这个命令会将当前连接的字符集和校对规则设置为“utf8_general_ci”,其中“ci”表示不区分大小写。 5. 验证设置是否生效,可以通过执行如下命令,查看字符集和校对规则是否已经被修改: ``` mysql> SHOW VARIABLES LIKE 'collation%'; ``` 如果返回的结果中,包含“utf8_general_ci”这个字符串,那么表示设置已经生效。 需要注意的是,修改字符集和校对规则可能会影响到现有的数据库表和数据,因此在进行设置之前,需要做好相应的备份和风险评估。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会叫的狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值