oracle中,表名区分大小写。
如果创建的表名是大写,查询时表名可以大写也可以小写。
如果创建的表名是小写,查询时表名需小写加引号。
关于oracle sql语句查询时表名和字段名要加双引号的问题 - 浮沉183 - 博客园
mysql大小写设置
lower_case_table_names=0
表名存储为给定的大小和比较是区分大小写的lower_case_table_names = 1
表名存储在磁盘是小写的,但是比较的时候是不区分大小写lower_case_table_names=2
表名存储为给定的大小写但是比较的时候是小写的
unix,linux下默认值为 0
Windows下默认值是 1
Mac OS X下默认值是 2
# 查看的两种方法:
show variables like 'lower_case_table_names';
select @@lower_case_table_names;
有种常见的场景,需要 lower_case_table_names=2,即项目会需要多数据源,不同的客户,用的数据库不同,有的用oracle,有的用mysql。
因为oracle是区分大小写的,为了兼容考虑,mysql这边在存硬盘时就得区分大小写,按实际输入来存,所以lower_case_table_names就不能是1。然后,为了兼容mysql默认不区分大小写的特性,所以lower_case_table_names=2