Oracle中的双引号与单引号

  • 场景一:数据库对象名称
    • Example 1:创建表空间
    • Example 2:创建用户及授权
    • Example 3:用户登录
  • 场景二:用户密码
  • 场景三:字段(列)名称
  • 场景四:字段(列)的值

场景一:数据库对象名称

创建对象时,对象名称可以加双引号,不能加单引号。加双引号表示区分大小写,不加双引号表示默认大写

Example 1:创建表空间

SQL> create tablespace omf_tbs1;
Tablespace created.SQL> create tablespace "omf_tbs2";
Tablespace created.SQL> select tablespace_name from dba_tablespaces;TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
OMF_TBS1
omf_tbs2SQL> create tablespace 'omf_tbs3';
create tablespace 'omf_tbs3'*
ERROR at line 1:
ORA-02216: tablespace name expected

Example 2:创建用户及授权

SQL> create user miguel identified by "Xqc$689" default tablespace omf_tbs1;
User created.SQL> create user "pablo" identified by Milf377 default tablespace omf_tbs2;
create user "pablo" identified by Milf377 default tablespace omf_tbs2
*
ERROR at line 1:
ORA-00959: tablespace 'OMF_TBS2' does not existSQL> create user "pablo" identified by Milf377 default tablespace "omf_tbs2";
User created.SQL> select username from dba_users where username like 'MIGUEL';
USERNAME
--------------------------------------------------------------------------------
MIGUELSQL> select username from dba_users where username like 'pablo';
USERNAME
--------------------------------------------------------------------------------
pabloSQL> create user 'Phoebe' identified by "Pwd3457";
create user 'Phoebe' identified by "Pwd3457"*
ERROR at line 1:
ORA-01935: missing user or role name

给用户授权的情况与上面类似,大写的用户名可以加也可以不加双引号,小写的用户名要加双引号。但是不能给用户名加单引号。

SQL> grant create session to miguel;
Grant succeeded.SQL> grant resource,connect to "MIGUEL";
Grant succeeded.SQL> grant create session to pablo;
grant create session to pablo*
ERROR at line 1:
ORA-01917: user or role 'PABLO' does not existSQL> grant create session to "pablo";
Grant succeeded.SQL> grant resource,connect to 'pablo';
grant resource,connect to 'pablo'*
ERROR at line 1:
ORA-00987: missing or invalid username(s)

Example 3:用户登录

对于小写的用户名,登录时要加双引号。

SQL> conn miguel/Xqc$689
Connected.SQL> conn MIGUEL/Xqc$689
Connected.SQL> conn pablo/Milf377
ERROR:
ORA-01017: invalid username/password; logon deniedWarning: You are no longer connected to ORACLE.
SQL> conn "pablo"/Milf377
Connected.

使用SQLPlus在终端登录时,注意对用户名和密码中的特殊字符进行转义(比如引号、$等)。

[oracle@oracledb ~]$ sqlplus miguel/Xqc$689ERROR:
ORA-01017: invalid username/password; logon denied[oracle@oracledb ~]$ sqlplus miguel/Xqc\$689   -- 这里$前有一个转义符\
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0[oracle@oracledb ~]$ sqlplus "pablo"/Milf377ERROR:
ORA-01017: invalid username/password; logon denied[oracle@oracledb ~]$ sqlplus \"pablo\"/Milf377
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

场景二:用户密码

创建用户时,密码可以也可以不加双引号。不管加不加双引号,密码都区分大小写。密码不能加单引号

SQL> create user miguel identified by "Xqc$689" default tablespace omf_tbs1;
User created.SQL> create user "pablo" identified by Milf377 default tablespace "omf_tbs2";
User created.SQL> create user phoebe identified by 'Jojo666';
create user phoebe identified by 'Jojo666'*
ERROR at line 1:
ORA-00988: missing or invalid password(s)

场景三:字段(列)名称

对于列名称,不能加双引号;如果加了单引号,字段名称会被转化成纯字符串

SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
OMF_TBS1
omf_tbs27 rows selected.SQL> select "TBALESPACE_NAME" from dba_tablespaces;
select "TBALESPACE_NAME" from dba_tablespaces*
ERROR at line 1:
ORA-00904: "TBALESPACE_NAME": invalid identifierSQL> select 'TBALESAPCE_NAME' from dba_tablespaces;
'TBALESAPCE_NAME'
----------------
TBALESAPCE_NAME
TBALESAPCE_NAME
TBALESAPCE_NAME
TBALESAPCE_NAME
TBALESAPCE_NAME
TBALESAPCE_NAME
TBALESAPCE_NAME7 rows selected.SQL> select sysdate from dual;
SYSDATE
---------
12-JAN-23SQL> select "SYSDATE" from dual;
ERROR:
ORA-01741: illegal zero-length identifierSQL> select 'sysdate' from dual;
'SYSDATE'
---------
sysdate

场景四:字段(列)的值

对于字段的值,必须加单引号,并且区分大小写。

示例1

SQL> select username from dba_users where username like "MIGUEL";
select username from dba_users where username like "MIGUEL"*
ERROR at line 1:
ORA-00904: "MIGUEL": invalid identifierSQL> select username from dba_users where username like MIGUEL;
select username from dba_users where username like MIGUEL*
ERROR at line 1:
ORA-00904: "MIGUEL": invalid identifierSQL> select username from dba_users where username like 'MIGUEL';
USERNAME
--------------------------------------------------------------------------------
MIGUELSQL> select username from dba_users where username like 'pablo';
USERNAME
--------------------------------------------------------------------------------
pablo

示例2

SQL> select username from dba_users where username="pablo";
select username from dba_users where username="pablo"*
ERROR at line 1:
ORA-00904: "pablo": invalid identifierSQL> select username from dba_users where username=pablo;
select username from dba_users where username=pablo*
ERROR at line 1:
ORA-00904: "PABLO": invalid identifierSQL> select username from dba_users where username='pablo';
USERNAME
--------------------------------------------------------------------------------
pabloSQL> select username from dba_users where username='PABLO';
no rows selected

Oracle中的双引号与单引号相关推荐

  1. python打印转义双引号和单引号

    项目场景: 字符将难以键入的字符编码为字符串.有各种"转义字符"可用于不同字符打印转义双引号和单引号. print("转义双引号") print("I ...

  2. python怎么输出双引号_Python如何实现在字符串里嵌入双引号或者单引号

    两种方法实现: 1.在双引号前面加个转义符 \ ,即反斜杠.如"Hello \"W \"orld",会输出 Hello "W"orld 2. ...

  3. shell 编程中空格的使用,双引号,单引号,反引号

    http://blog.csdn.net/panda19881/article/details/6626727 1.定义变量时, =号的两边不可以留空格. eg: gender=femal----ri ...

  4. Linux--Linux Shell 中的反引号,单引号,双引号

    反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行 ...

  5. java中双引号和单引号_Java中的单引号和双引号之间有区别吗?

    问题 Java中的单引号和双引号之间有区别吗? #1 热门回答(126 赞) 对于literalchar使用单引号,对于literalString使用双引号,如下所示: char c = 'a'; S ...

  6. 关于SQL语句中的双引号、单引号和

    http://hi.baidu.com/snowkylin/blog/item/bf5316a94db802b7cb130cc6.html 同时在此文的基础上我在补充几个常用的方法: sql=&quo ...

  7. java中的双引号和单引号

    在js中,单双引号不作区分,这导致我在java中产生了混淆. 在写一段判断某字符是否为空格的代码时,编译器报错,我才意识到是单引号用成了双引号. 关于java中的单双引号,需要注意以下几点: 1.ja ...

  8. Linux中反引号(` `)、单引号(‘ ‘)、双引号(“ “)、花括号({ })的解释

    反引号(` `) 反引号里面的内容必须要是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内容当作命令执行后,再交给调用反向单引号命令继续. 一个命令cmd1想调用另一个命令cmd2 ...

  9. java单引号 python_单引号与Python中的双引号

    我喜欢在用于插值的字符串或自然语言消息中使用双引号,对于小符号类型的字符串使用单引号,但是如果字符串包含引号,或者如果我忘记,则会打破规则. 对于正则表达式,我使用三重双引号作为docstrings和 ...

最新文章

  1. pta两个有序链表的合并_21. 合并两个有序链表
  2. Python numpy生成矩阵、串联矩阵
  3. Ubuntu 安装 Qt 开发环境 简单实现
  4. undefined reference to “boost” in Qt—Ubuntu
  5. How to deal with error message No item category could be determined
  6. 人生133个规则,能领悟多少算多少!!!看自己的造化!!!
  7. 详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式(ubuntu 16.04)
  8. JAVA逆向反混淆-追查Burpsuite的破解原理
  9. ArcGIS Engine代码共享-可以直接移植到你的工程中
  10. python钓鱼网站_学习笔记6.0 Django入门创建一个钓鱼网站
  11. 看陈广老师c#参考视频总结(第三篇)
  12. 汇编语言上机考试三星题——加密的key和明文字符串
  13. js离开页面执行函数 onbeforeunload与onunload事件
  14. 爬虫:python爬虫学习笔记之网站保持登录机制及简单验证码处理
  15. B2C电商产品系统分析
  16. lisp 阿基米德螺旋_用Auto CAD怎样画椭圆螺旋
  17. 腾讯云Centos8.0 CPU使用率100%,top查询为kthreaddk占用异常
  18. kali 安装netspeed 网络流量监视器
  19. python二元一次方程组用鸡兔同笼的思路来写编程_python二元一次方程组用鸡兔同笼的思路来写编程_《应用二元一次方程组——鸡兔同笼》......
  20. markdown 入门 - 这样就够用了

热门文章

  1. 雷鸟Thunderbird邮件客户端的几个实用配置技巧
  2. 御龙在天手游服务器满怎么注册,御龙在天手游新开服务器 御龙在天手游最新服务器一览...
  3. 静态HTML网页设计作品 女装服装商城(11页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页
  4. 基于Windows下的Vivado编译Powerlink(命令行版)
  5. 华为云是如何暗中为你的网站保驾护航
  6. 城市视觉技术在智慧城市中的应用
  7. python基于mask检测人体并输出黑白剪影
  8. 黑马程序员C++ 第一阶段 C++基础语法入门
  9. 在win10运行DOS环境与debug
  10. python 安装 ffmpeg包