mysql和oracle大小写

34 篇文章 0 订阅
9 篇文章 0 订阅

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names

https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html

 

表和数据库名称在磁盘上的存储方式以及如何在MySQL中使用受lower_case_table_names系统变量影响,您可以在启动mysqld时设置该 系统变量 。 lower_case_table_names可以采用下表中显示的值。这个变量不 影响触发标识符的情况下的灵敏度。在Unix上,默认值为 lower_case_table_names0。在Windows上,默认值为1。在macOS上,默认值为2。

含义
0表和数据库名称使用CREATE TABLEor CREATE DATABASE语句中指定的字母大小写存储在磁盘上。名称比较区分大小写。你应该不会,如果你有不区分大小写的文件名(如Windows或Mac系统)的系统上运行MySQL这个变量设置为0。如果--lower-case-table-names=0 在不区分大小写的文件系统上强制将此变量设置为0 并MyISAM使用不同的字母大小写访问 表名,则可能导致索引损坏。
1表名以小写形式存储在磁盘上,名称比较不区分大小写。MySQL在存储和查找时将所有表名都转换为小写。此行为也适用于数据库名称和表别名。
2表名和数据库名使用CREATE TABLEor CREATE DATABASE语句中指定的字母大小写存储在磁盘上,但是MySQL在查找时将它们转换为小写。名称比较不区分大小写。这仅适用于不区分大小写的文件系统! InnoDB表名和视图名与一样以小写形式存储 lower_case_table_names=1

如果仅在一个平台上使用MySQL,通常不必lower_case_table_names从默认值更改 变量。但是,如果要在文件系统区分大小写的平台之间传输表,可能会遇到困难。例如,在Unix上,可以有两个不同的表,分别命名为my_table和 MY_TABLE,但是在Windows上,这两个名称被认为是相同的。为避免数据库或表名的字母大写引起的数据传输问题,您有两种选择:

  • lower_case_table_names=1在所有系统上 使用。这样做的主要缺点是,当您使用SHOW TABLES或时 SHOW DATABASES,您不会在其原始字母大小写中看到名称。

  • 使用lower_case_table_names=0在Unix和 lower_case_table_names=2Windows上。这样可以保留数据库名称和表名称的字母大小写。这样做的缺点是,必须确保您的语句在Windows上始终以正确的字母大小写引用数据库和表名。如果将语句转移到字母大写的Unix,则如果字母大写不正确,则它们将不起作用。

    例外:如果您使用 InnoDB表,并且试图避免这些数据传输问题,则应lower_case_table_names在所有平台上将其设置 为1,以强制将名称转换为小写。

---------------------------------------------------

linux默认是大小写区分的。
Windows或macOS默认是不支持大小写区分的,
在Unix上,默认值为 lower_case_table_names=0
在Windows上,默认值为1。在macOS上,默认值为2。

 

oracle 

create table时,加了双引号,且表名为小写时,只能select * from "table"的方式查询,其他方式大小写都可以查询,navicat,sqldeveloper,sqlplus都可以大小写查出来
 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLOracle 都是常见的关系型数据库管理系统,它们有一些相似之处,但也有一些不同之处。下面是它们之间的25个对比: 1. 所属公司:MySQL 是由 Oracle 公司开发,而 Oracle 是由 Oracle 公司开发。 2. 开源性:MySQL 是开源的,而 Oracle 是闭源的。 3. 授权费用:MySQL 可以免费使用,而 Oracle 需要付费使用。 4. 数据库大小限制:MySQL 的数据库大小限制为 2TB,而 Oracle 的数据库大小限制为 4EB。 5. 并发处理:Oracle 在并发处理方面比 MySQL 更强大。 6. 复杂性:OracleMySQL 更复杂,需要更多的学习和技能。 7. 系统资源:Oracle 需要更多的系统资源,如处理器和内存。 8. 存储引擎:MySQL 支持多种存储引擎,而 Oracle 只支持自己的存储引擎。 9. 事务管理:OracleMySQL 更强大和更灵活的支持事务管理。 10. 备份和恢复:Oracle 的备份和恢复机制比 MySQL 更强大。 11. 安全性:Oracle 在安全性方面比 MySQL 更强大。 12. 分区表:Oracle 支持分区表,而 MySQL 不支持。 13. 数据压缩:Oracle 支持数据压缩,而 MySQL 不支持。 14. 数据库集群:MySQL Cluster 是免费的数据库集群,而 Oracle 需要付费使用。 15. 数据库迁移:Oracle 的数据库迁移工具比 MySQL 更强大。 16. 存储空间:Oracle 的存储空间管理比 MySQL 更强大。 17. 性能:Oracle 在处理大型数据时比 MySQL 更快。 18. 分布式处理:Oracle 支持分布式处理,而 MySQL 不支持。 19. 数据库连接:Oracle 支持更多的连接方式,如 JDBC、ODBC 和 OCI。 20. 数据库监控:Oracle 提供了更强大的数据库监控工具。 21. 数据库复制:MySQL 的数据库复制功能比 Oracle 更强大。 22. 数据库优化:MySQL 提供了更多的优化工具,如 MySQL Tuner。 23. 数据库扩展:Oracle 的数据库扩展比 MySQL 更灵活。 24. 数据库安装:Oracle 的数据库安装比 MySQL 更复杂。 25. 用户界面:MySQL 提供了更简单的用户界面,而 Oracle 的用户界面更复杂。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值