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

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.kler.cn/a/157595.html

相关文章:

  • 1. JasperSoft介绍与安装
  • 如何用Redis实现分布式锁?
  • Oracle 查询表占用空间(表大小)的方法
  • OpenSSL 心脏滴血漏洞(CVE-2014-0160)
  • Linux 文件系统目录结构及其简要介绍
  • MySQL复制问题和解决
  • 【新手解答8】深入探索 C 语言:递归与循环的应用
  • spring cloud nacos整合gateway
  • 十五、机器学习进阶知识:K-Means聚类算法
  • 【SQL SERVER】定时任务
  • 【ARM Trace32(劳特巴赫) 使用介绍 12 -- Trace32 常用命令之 d.dump | data.dump 介绍】
  • Linux: 文档 :相关接口文档手册还是需要仔细阅读
  • mfc 设置excel 单元格的列宽
  • EM32DX-C4【C#】
  • 解决:ERROR: No matching distribution found for rarfile
  • 传输层可靠传输的原理
  • 【网络安全技术】密钥管理
  • llama.cpp部署(windows)
  • LinuxBasicsForHackers笔记 --添加和删​​除软件
  • Notepad++ 安装TextFx插件失败
  • 双目光波导AR眼镜_AR智能眼镜主板PCB定制开发
  • 探讨Unity中的动画融合技术(BlendTree)
  • <Linux>(极简关键、省时省力)《Linux操作系统原理分析之linux存储管理(5)》(21)
  • C#的方法使用
  • C++数据结构:B树
  • C10练习题