oracle 表名 、字段名 默认不区分大小写,除非建表语句中带双引号 如CREATE TABLE "TableName"("ID" number)。
CREATE TABLE tablename (ID number);
在查询的时候表名可以任意大小写。
create table table_name(id number);
当该表其中的一个字母为大写时 会报错。
create table Table_name(id number);
ORA-00955: name is already used by an existing object
数据库已经有同名对象。即在不加双引号的情况下,oracle认为 table_name 和Table_name 是一样的。
不加双引号建表:
select * from table_name;
select * from TABLE_NAME;
select * from Table_name;
以上三种都可以查询出结果。
并且oracle中显示的表名为大写:
使用双引号建表:
CREATE TABLE "TableName"(id number)
使用以下方式查询,都会提示表不存在:
select * from tablename;
select * from TABLENAME;
select * from Tablename;
select * from TableName;
即使使用的名称和建表时使用的一样,也还是会报错。
ORA-00942: table or view does not exist。
只有使用 select * from "TableName" 才可以查询数据。
数据库显示为大小写分明:
字段名和表名同理,如果建表的时候字段名称有双引号,那么在查询的时候,在字段名上也需要使用双引号。即使表名没有使用双引号。即
CREATE TABLE TABLENAME("ID",NUMBER)。
在查询时使用 select "ID" from tablename 或 select "ID" from Tablename 都可以。