[转]关于oracle sql语句查询时表名和字段名要加双引号的问题
- oracle初学者一般会遇到这个问题。
-
用navicat可视化创建了表,可是就是不能查到!后来发现②语句可以查询到
①select * from user;
但是,我们如果给user加上双引号就可以查到了!
②select * from "user";
难道oracle跟mysql等不同,查询时候一定要加双引号?那这样不是很麻烦!于是经过查找资料得出如下结论:
1、oracle表和字段是有大小写的区别。oracle默认是大写,如果我们用双引号括起来的就区分大小写,如果没有,系统会自动转成大写。
2、我们在使用navicat使用可视化创建数据库时候,navicat自动给我们加上了“”。这样我们在创建数据库时实际的代码是这样的:(通过到处sql语句的文件,这样就不难理解我们为什么找不到表了。)
12345DROPTABLE"ROOT"."user";CREATETABLE"ROOT"."user"("userid"NUMBER(2)NOTNULL)-------到这里,我想那些总是用可视化来创建表和字段的人该吐槽navicat了。3、我用sql语句进行创建表和字段呢?
①不加双引号创建变:12345678910111213141516CREATETABLE"ROOT".personal_user_table (personal_id NUMBER(10)NOTNULL,login_name VARCHAR2(20 BYTE)NOTNULL,login_password VARCHAR2(20 BYTE)NOTNULL,register_timeDATENOTNULL,fullname VARCHAR2(20 BYTE)NOTNULL,sexCHAR(1 BYTE)NULL,id_cardCHAR(18 BYTE)NULL,email VARCHAR2(30 BYTE)NULL,telCHAR(11 BYTE)NULL,address VARCHAR2(64 BYTE)NULL,work_units VARCHAR2(64 BYTE)NULL,monthly_income NUMBER(8,2)NULL,bank_accountCHAR(20 BYTE)NULL,credit_rating NUMBER(1)NULL)结果是查询正常:

②加双引号,跟我们使用navicat可视化操作的结果一样:
12345678910111213141516CREATETABLE"ROOT"."personal_user_table"("personal_id"NUMBER(10)NOTNULL,"login_name"VARCHAR2(20 BYTE)NOTNULL,"login_password"VARCHAR2(20 BYTE)NOTNULL,"register_time"DATENOTNULL,"fullname"VARCHAR2(20 BYTE)NOTNULL,"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、比较笨的方法是数据表名字大写,这样也可以避免此问题
原文链接
关于oracle sql语句查询时表名和字段名要加双引号的问题
[转]关于oracle sql语句查询时表名和字段名要加双引号的问题的更多相关文章
- 关于oracle sql语句查询时 表名和字段名要加双引號的问题具体解释
作为oracle的刚開始学习的人相信大家一定会遇到这个问题.如图: 明明就是navicat可视化创建了表,但是就是不能查到!这个为什么呢? select * ...
- 关于oracle sql语句查询时表名和字段名要加双引号的问题详解
转自:http://www.2cto.com/database/201504/387184.html 作为oracle的初学者相信大家一定会遇到这个问题,如图: 明明就是navicat可视化创建了表, ...
- SQL语句查询某表的所有字段及数据类型
SQL语句查询某表的所有字段及数据类型 SELECT name AS column_name , TYPE_NAME(system_type_id) AS column_type , max_leng ...
- Oracle中如何查询一个表的所有字段名和数据类型
Oracle中如何查询一个表的所有字段名和数据类型 查询语法 select A.COLUMN_NAME,A.DATA_TYPE from user_tab_columns A where TABLE_ ...
- Navicat查询哪些表有指定字段名
通常需要查询某个字段来自于哪张表,在navicat中没有直接查哪些表有指定字段名的功能,只能用sql来查. 1.(按字段名查表)查询哪些表有指定字段名(比如查字段名article_id)的SQL: S ...
- sql语句查询数据库表结构信息
开发中经常用到查询指定表及其字段的信息,以下是我整理的SQL语句查询方法,供自己平时使用也提供给大家参考! 1.适用MS SQL SERVER: SELECT 表名 = then d.name els ...
- 在oracle中操作表及字段注释,查询一个表的所有字段名以及属性和约束
1.查询表注释 SELECT * FROM USER_TAB_COMMENTS; 三列:TABLE_NAME,TABLE_TYPE,COMMENTS 2.查询字段注释 SELECT * FROM US ...
- 使用一条sql语句查询多表的总数
SELECT sum(列名1) 列名1,sum(列名2) 列名2,sum(列名3) 列名3 FROM ( SELECT count(*) 列名1, 列名2, 列名3 FROM 表1 -- WHERE ...
- SQL语句查询时防止SQL语句注入的方法之一
1.传参时有可能出现SQL语句注入 StringBuffer sb = new StringBuffer(); if(StringUtils.isNotBlank(areaCode)) { sb.ap ...
随机推荐
- ctypes库调用dll的个人见解
最近着手开发一个小东西涉及到了API接口的知识点, 第一次使用到了ctypes库,在网上找了一大圈,基本都是讲add.dll之后就没了. 就像下面这个: from ctypes import * dl ...
- java中获取系统的当前时间
转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输出: import java ...
- 最详细的C++对应C#的数据类型转换
C++ ---------------------- C# LDWORD ----------------IntPtr LLONG-------------------Intptr bool ---- ...
- 如何实现javascript js 类命名空间的写法
转载 猫猫小屋http://www.maomao365.com/?p=823 在C#中有namespace概念,java中有package的概念,有了这些概念之后,在系统的运行时,每一个方法就会拥有唯 ...
- oracle大数据量更新引发的死锁问题解决方法及oracle分区和存储过程的思考
前言 前几天上午在对数据库的一张表进行操作的时候,由于这张表是按照时间的一张统计表,正好到那天没有测试数据了,于是我想将表中所有的时间,统一更新到后一个月,于是对80w条数据的更新开始了.整个过程曲折 ...
- NoSQL与MongoDB介绍
写在前面 本文是由一次演讲整理出来的,文中大部分资料来源于网络,感谢Wikipedia,Google和MongoDB官网.文中使用的MongoDB版本为1.2.4. What is NoSQL NoS ...
- spreadJs 自动换行功能和自动增高行高
var styleTmp = sheet.getStyle(displayRowIndex, displayColumnIndex, GcSpread.Sheets.SheetArea.viewpor ...
- hive笔记:时间格式的统一
一.string类型,年月日部分包含的时间统一格式: 原数据格式(时间字段为string类型) 取数时间和格式的语法 2018-11-01 00:12:49.0 substr(regexp_repl ...
- 个人对于 Maven 的理解
个人对于 Maven 的理解 Maven 一直都在使用, 但如果说是不是真的懂 Maven, 很难谈得上. 或许什么时候系统地学习一下, 但在那之前, 打算先记下自己目前对于 Maven 的理解, 之 ...
- fedora 28/29 配置 C++ 环境
最近 使用C++ 开发 更换机器的时候,还要重新配置一下 gnu 工具链.于是简单进行了安装了一下: yum install gcc yum install gcc-c++ yum install g ...