博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库与Oracle数据库中建表使用单引号和双引号的效果
阅读量:4290 次
发布时间:2019-05-27

本文共 1951 字,大约阅读时间需要 6 分钟。

一、Oracle数据库,使用单引号和双引号,以及不使用引号的区别

1、不使用引号,创建一个新表

-- 如果不使用引号,则表名和字段会自动转换成大写create table Tatoo_Test(Name varchar2(10),id number primary key,Gender varchar2(3))tablespace users;-- 查询的时候也不需要加引号,并且表名和字段也会自动转换成大写select name,id,gender from tatoo_test;

创建成功:

下边看一下表名是不是变成了大写:

可以看到表名全部变为大写

在进入表中看一下字段:

可以看到表中的字段也全部变成大写了

查询的时候表名和字段也不需要加引号,Oracle数据库会自动转为全部大写

2、如果需要表名和字段严格区分大小写,则需要使用到双引号

-- Oracle数据库中表名和字段名使用双引号,则英文严格区分大小写create table "Tatoo_Test"("Name" varchar2(10),"id" number primary key,"Gender" varchar2(3))tablespace users;-- 查询的时候也需要使用双引号来区分大小写。select * from "Tatoo_Test";-- 表名和字段用双引号严格区分大小写,插入字符数据时,用单引号insert into "Tatoo_Test"("Name","id","Gender")values('小明',1,'男');commit;-- 查询的时候也需要使用双引号来区分大小写。select "Name","Gender" from "Tatoo_Test";

注意在插入数据时,插入字符串数据则需要使用单引号,如果使用双引号插入中文字符会报错,接下来再演示

先看一下,刚才创建的表

可以发现在刚才的表上边新建了一个表Tatoo_Test,表名并没有全部转为大写,再看一下字段:

可以看到字段也是区分大小写的,当然因为区分了大小写,所以在增删改查的时候,表名和字段也需要加双引号。

现在再写两条插入语句,使用双引号包裹字符串:

-- 插入两条条使用双引号的语句insert into "Tatoo_Test"("Name","id","Gender")values("小明",1,"男");commit;insert into "Tatoo_Test"("Name","id","Gender")values("xiaoming",1,"man");commit;

3、可以发现使用双引号,数据库会报错。插入字段数据时,是字符串(中英文字符串)需要用单引号

4、查询时,字段或表名的别名可以不加引号,如果加引号需要使用双引号,使用单引号会报错(单引号会把别名当普通字符处理)

-- sysdate函数(查询的字段的别名可以使用双引号)SELECT sysdate-1 "昨天",sysdate "今天",sysdate+1 "明天" from dual;-- sysdate函数(查询的字段的别名可以不加引号)SELECT sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual;-- sysdate函数(查询的字段的别名使用单引号会报错)SELECT sysdate-1 '昨天',sysdate '今天',sysdate+1 '明天' from dual;

可以看到查询成功:

而使用单引号则会报错

二、MySQL中单引号和双引号的区别

1.mysql的字段名、表名通常不需要加任何引号,如果非要加上引号,必须加反引号(键盘1左边的键); 

可以发现,加不加反引号都是可以的,而且MySQL数据库建表时候,默认把表名转成了小写,但是字段名却保留原样(区分大小写):

字段区分大小写:

2.mysql的别名不用加引号

3.单引号和双引号都可以表示字符串;

从上边可以看出在为quota表插入数据时,插入字符时,使用单双引号都可以。

三条数据已经插入成功。

如果插入字符数据内容有单引号,则需要使用双引号包裹字符内容,如果插入的字符数据中有双引号,则需要使用单引号包裹字符内容:

-- 为表quota_2插入2条数据insert into quota_2(id,Name,Gender)VALUES(1,"xm's mom","女"),(2,'真"聪明"啊','男');select * from quota_2;

查询结果:

可以看到插入的内容中有单引号内容或者双引号内容。

注意:双引号的使用并不是sql标准,使用双引号是具体数据库对sql的拓展。

 

转载地址:http://myhgi.baihongyu.com/

你可能感兴趣的文章
C++ 用libcurl库进行http通讯网络编程
查看>>
秒杀多线程第十篇 生产者消费者问题
查看>>
信号量与互斥锁
查看>>
linux 查看CPU个数,核数
查看>>
string 序列化
查看>>
va_start(),va_end()函数应用
查看>>
crontab命令
查看>>
State Threads——异步回调的线性实现
查看>>
va_start va_end
查看>>
共享内存,共享缓冲区 一对多
查看>>
无锁队列的实现
查看>>
CAS原子操作实现无锁及性能分析
查看>>
Linux 互斥锁、原子操作实现原理
查看>>
搭建简单hls直播测试服务
查看>>
共享内存的数据同步
查看>>
Cache和Buffer的区别
查看>>
50个sql语句
查看>>
MYSQL sql 语句性能分析
查看>>
C++操作Redis数据库
查看>>
python yield用法
查看>>