重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql中反引号怎么打 mysql中单引号的使用

MYSQL中的`是什么概念?是"`"不是单引号

类似与MSSQL里面的[],理解为对字段名、表名的一个引号,不是必须的,例如建立表abc可以使用:

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的门源网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

create table abc ....

也可以使用:

create table `abc` ...

但是,如果你建立的表名叫做table或者其它的特殊名称,那就必须要使用反引号:

create table `table` ...

在mysql语句中为什么要加反引号

它是为了区分MYSQL的保留字与普通字符而引入的符号。

举个例子:SELECT `select` FROM `test` WHERE select=‘字段值‘

在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。

引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select=‘字段值‘

不加反引号建的表不能包含MYSQL保留字,否则出错

MySQL中反引号和引号的区别及用法

MySql中用一对反引号"`"来标注SQL语句中的标识,如数据库名、表名、字段名等。反引号是非必须的,在确保不会导致歧义发生的情况下可以省略掉,反之,例如在出现字段名与保留关键字相同、标识中含空格等等情况下就需要使用,否则可能出错。

引号则用来标注语句中所引用的字符型常量或日期/时间型常量。引号是必须的,不得省略,否则会导致系统报错。一般情况下使用一对英文单引,也可以英文双引号。

下面举例示范反引号和单引号的用法

select cid,`name`,`place of birth` ,

'特殊客户群' as remark

from client where `type of client`='student' ;

选出客户类型为学生的记录,列出客户id、姓名和出生地,额外附加一个虚拟备注字段将学生类型客户标注为常量"特殊客户群"

a.

select * from student where

remark="Mary's elder twin sister";

b.

select * from student where

remark='Mary''s elder twin sister';

通过备注查出玛丽的双胞胎姐姐的资料。

因为常量中包含英文单引号

a例使用双引号标注字符串常量,可直接引用含单引号的字符串;

b例使用单引号标注字符串常量,字串中包含的单引号需要转义(一个单引号写成两个单引号),否则会报错。

sql系统关键字转义

经评论区朋友的指点,此篇文章存在问题,不把SQL关键字作为字段名才是解决问题的关键。

单独针对mysql,可以使用反引号,即`

对于oracle,需要使用双引号加大写,即"KEY"这种,或者直接不加任何符号,不能使用单引号,不然会出现评论区兄弟说的那种情况,即查询结果的字段是返回'key'这种形式。

sql使用单引号

查询见截图,下面返回的查询结果中返回的字段名带有单引号:

查询结果中应该不带单引号的。

所以为了兼顾mysql和oralce,最好的办法是修改字段名,不要涉及sql系统关键字和特殊字段。

在mybatis的xml配置中有如下sql语句:

上述配置,在mysql中会报错

提示有语法错误, key value为msyql系统关键字,解决方法可以是可以用反引号,如下

这样做在mysql中是可以的,不过在oracle中使用反引号会报错

上述mybatis配置中的sql在oracle中执行是没问题的,

所以为了sql在mysql和oracle中都能执行,使用单引号更改sql语句,改完如下:

这样在mysql和oracle中都可以执行了。

MySQL中单引号,双引号和反引号的区别

1、首先单引号和反引号,如图,这里的   '图书ID'   就使用到了单引号,而 CREATE TABLE `book`  这里的  book  就使用到了反引号。

2、单引号:在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值。如果是数值,不要使用引号。

3、反引号:它是为了区分MYSQL的保留字与普通字符而引入的符号。有MYSQL保留字作为字段的,必须加上反引号来区分。

4、双引号的用法和单引号有所类似,大多数数据库都支持单引号和双引号的互换,即varchar类型的变量既可以用单引号来囊括,也可以用双引号。

5、另外,在oracle里面,双引号还有一个意义,那就是保留大小写。在oracle数据库里面,所有的字段是默认为转化成大写后进数据库的,所以如果有一个表名为user,这个时候select * from user;这个语句是查不出任何数据的。

【SQL语句】-MYSQL中关于引号的使用

mysql的别名可以不加引号,如果加引号,单引号和双引号以及反引号都可以,如下

mysql的 字段名、表名 通常不需要加任何引号,如果非要加上引号,必须加反引号``(注意是英文状态),如下

QA:

Q:在给字段设置别名的时候,加单引号、双引号和不加有区别吗?

A:本质上都可以实现,但是如果引号引起来可以添加空格,不加引号的别名无法做到。


当前文章:mysql中反引号怎么打 mysql中单引号的使用
当前URL:http://cqcxhl.com/article/hjogpo.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP