当前位置: 首页 > news >正文

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 默认情况下是不区分大小写的,但在使用双引号 " "括起来的标识符时,是区分大小写的。

http://www.lryc.cn/news/256372.html

相关文章:

  • Java多线程并发(二)
  • 树莓派外接上显示器以后一直黑屏无画面显示
  • 使用Ansible lineinfile模块进行行级别操作
  • curl 18 HTTP/2 stream
  • 5G+AI开花结果,助力智慧安检落地
  • Swift 如何实现自定义 Tab Bar
  • mysql 语言学习
  • 微信小程序基础bug
  • 13、pytest为失败的断言定义自己的解释
  • Flink优化——数据倾斜(二)
  • Unity打包到Webgl平台以及遇到的问题
  • c语言编程题经典100例——(90~95例)
  • Redis核心知识点总结
  • stm32Flash操作
  • 云原生系列1
  • 设计原则 | 里式替换原则
  • 第7节:Vue3 动态绑定多个属性
  • 【文件上传系列】No.1 大文件分片、进度图展示(原生前端 + Node 后端 Koa)
  • 性能测试 —— Jmeter分布式测试的注意事项和常见问题
  • “SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用
  • 总结|哪些平台有大模型知识库的Web API服务
  • TOMCAT9安装
  • QT中时间时区处理总结
  • OpenAtom OpenHarmony三方库创建发布及安全隐私检测
  • 【1】一文读懂PyQt简介和环境搭建
  • windows install git
  • 【华为数据之道学习笔记】3-7 报告数据治理
  • SpringDataRedis 操作 Redis,并指定数据序列化器
  • useradd 在Linux原生应用开发过程中的简单应用
  • Linux 删除文件名乱码的文件