oracle初学者一般会遇到这个问题。
用navicat可视化创建了表,可是就是不能查到!
后来发现②语句可以查询到

①select * from user;

但是,我们如果给user加上双引号就可以查到了!

②select * from "user";

难道oracle跟mysql等不同,查询时候一定要加双引号?那这样不是很麻烦!于是经过查找资料得出如下结论:

1、oracle表和字段是有大小写的区别。oracle默认是大写,如果我们用双引号括起来的就区分大小写,如果没有,系统会自动转成大写。

2、我们在使用navicat使用可视化创建数据库时候,navicat自动给我们加上了“”。这样我们在创建数据库时实际的代码是这样的:(通过到处sql语句的文件,这样就不难理解我们为什么找不到表了。)

1
2
3
4
5
DROP TABLE "ROOT"."user";
CREATE TABLE "ROOT"."user" (
"userid" NUMBER(2) NOT NULL 
)
-------到这里,我想那些总是用可视化来创建表和字段的人该吐槽navicat了。

3、我用sql语句进行创建表和字段呢?
①不加双引号创建变:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE "ROOT".personal_user_table (
personal_id NUMBER(10) NOT NULL ,
login_name VARCHAR2(20 BYTE) NOT NULL ,
login_password VARCHAR2(20 BYTE) NOT NULL ,
register_time DATE NOT NULL ,
fullname VARCHAR2(20 BYTE) NOT NULL ,
sex CHAR(1 BYTE) NULL ,
id_card CHAR(18 BYTE) NULL ,
email VARCHAR2(30 BYTE) NULL ,
tel CHAR(11 BYTE) NULL ,
address VARCHAR2(64 BYTE) NULL ,
work_units VARCHAR2(64 BYTE) NULL ,
monthly_income NUMBER(8,2) NULL ,
bank_account CHAR(20 BYTE) NULL ,
credit_rating NUMBER(1) NULL
)

结果是查询正常:

②加双引号,跟我们使用navicat可视化操作的结果一样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE "ROOT"."personal_user_table" (
"personal_id" NUMBER(10) NOT NULL ,
"login_name" VARCHAR2(20 BYTE) NOT NULL ,
"login_password" VARCHAR2(20 BYTE) NOT NULL ,
"register_time" DATE NOT NULL ,
"fullname" VARCHAR2(20 BYTE) NOT NULL ,
"sex" CHAR(1 BYTE) NULL ,
"id_card" CHAR(18 BYTE) NULL ,
"email" VARCHAR2(30 BYTE) NULL ,
"tel" CHAR(11 BYTE) NULL ,
"address" VARCHAR2(64 BYTE) NULL ,
"work_units" VARCHAR2(64 BYTE) NULL ,
"monthly_income" NUMBER(8,2) NULL ,
"bank_account" CHAR(20 BYTE) NULL ,
"credit_rating" NUMBER(1) NULL
)

结果如下:

因此建议:

1.建议我们的可视化操作者还是养成手写sql语句的习惯,我们在创建的时候就不要使用了双引号!这样我们就可以到达像mysql等一样不区分大小写了。

3、比较笨的方法是数据表名字大写,这样也可以避免此问题

转载于:https://www.cnblogs.com/fuchen/p/5680478.html

关于oracle sql语句查询时表名和字段名要加双引号的问题相关推荐

  1. 关于oracle sql语句查询时表名和字段名要加双引号的问题详解

    转自:http://www.2cto.com/database/201504/387184.html 作为oracle的初学者相信大家一定会遇到这个问题,如图: 明明就是navicat可视化创建了表, ...

  2. Oracle中如何查询一个表的所有字段名和数据类型

    Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_ ...

  3. 查看oracle的版本、所在表空间、字符集及查询一个表的所有字段名和数据类型

    一.oracle 数据库版本 select * from v$version; 注:https://blog.csdn.net/zhufengzhuiri/article/details/791391 ...

  4. 表字段出现oracle sql语句关键字时

    [现象]:在想一个表中插入数据时,老是报出语法错误. 例如:insert into acc.t_rpt_column_info (COLUMN_ID, TABLE_ID, COLUMN_NAME, o ...

  5. ORACLE中单引号和双引号使用区别详解

    1 . 双引号:起别名时使用 作用一:别名可以不用任何引号,但如果使用数字开头.特殊字符,或大小写敏感,或有空格时,需加双引号.比如name as 姓名 ,此处不需要加双引号; 而age as&quo ...

  6. SQL语句查询时以集合作为参数判断字段是否存在该集合中

    SQL语句支持这样的: select * from 表名 where 列名 in (value1,value2,value3,value4) 但是如果是一个List数组,我们无法得知括号里面具体该写多 ...

  7. sql语句查询时,where条件同时使用and和or

    sql查询时,where条件后即有and和or,要使用括号将需要区分的括起来. where set_id = 11 and (year1 is null or year2 is null or yea ...

  8. SQL语句查询所有表和查询表里的所有字段

    查询数据库里的所有表 1. 查询数据库里面的所有表 MySQL select table_name tableName, engine, table_comment tableComment, cre ...

  9. 用一个Sql语句查询出表中的一个字段的数据类型

    select name,(select name from systypes where xusertype=syscolumns.xusertype) from syscolumns where i ...

最新文章

  1. foreign 磁盘阵列_服务器磁盘 foreign
  2. python安装Scrapy踩过的坑以及安装指导
  3. Webpack打包构建太慢了?试试几个方法
  4. 《大数据导论》——2.3节业务流程管理
  5. ip地址与dns关系
  6. 几行代码起家到实时音视频一线,6 岁声网计划赴美上市!
  7. Android 计算地球上两点的距离
  8. ifs 报表开发手册_店长工作手册:连锁总部店长复制手册之店长手册对门店经营管理的编写...
  9. iOS 使用NJKWebViewProgress做webview进度条(加载网页时获取加载进度)
  10. Atitit r2017 r2 doc list on home ntpc.docx
  11. 在Oracle Data Guard环境中的RMAN备份和还原
  12. RDPWrap远程桌面的一次脱坑
  13. STM32编译生成的BIN文件详解
  14. 中国移动中兴ZTE F623光猫设置自动拨号启用wifi功
  15. 我的理想是学计算机,我的理想作文(精选10篇)
  16. windows 实现 linux soft link,Linux中的软链接(Soft Link)和硬链接(Hard Link)的区别...
  17. rstp 小米网络摄像头_各主流摄像头的rtsp地址格式
  18. 局部敏感哈希-Locality Sensitivity Hashing
  19. 理解快速排序 | 打通算法学习的任督二脉
  20. MAC压缩文件 密码 加密ZIP

热门文章

  1. ref的mysql_ref:Mysql授权远程登陆
  2. 16进制 转为图片 php_Python 十六进制hex-bytes-str之间的转换和Bcc码的生成
  3. java ==和equals的区别
  4. 12.18栈、队列练习题
  5. jstack命令使用
  6. asp.net中获得客户端的IP地址
  7. [导入][你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途...
  8. c# mysql app.config_60. C# -- 读取 appconfig文件配置数据库连接的方法
  9. es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
  10. Docker+Jenkins+Git+GitLab实现DevOps