MySQL里引用字符串常量时需要用一对英文单引号“ ' ”或英文双引号“ " ”将字符串常量常量括起来。例如:
'an apple'
"a book"
一般应使用英文单引号,如果字符串内需要包含单引号时,除了使用转义的办法外,我们可以选用一对双引号来包括字符串,这样字符串内的单引号被视作普通字符,无需特殊处理。
例如 Johnson's mother
select "Johnson's mother",'Johnson''s mother','Johnson\'s mother'
与单引号对应,使用英文双引号引用的字符串内需要包含双引号时,除了使用转义的办法外,我们可以用一对单引号来包括字符串,这样字符串内的双引号被视作普通字符,无需特殊处理。
例如 He said: "Go away"
select 'He said: "Go away"' ,"He said: ""Go away""" ,"He said: \"Go away\""
MySQL里使用一对反勾号“ ` ”将识别符括起来,一般情况下可以不用,单是如果识别符出现关键字冲突或标识符的写法可能产生歧义的情况下就必须使用。例如:
create table t1 (id int primary key ,desc varchar(10))-- 这句会报错
create table t1 (id int primary key,`desc` varchar(10))-- 这句客成功运行
另外,如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号替代反勾号将识别符括起来:
mysql>CREATE TABLE "test" (col INT) ERROR 1064: You have an error in your SQL syntax. (...)mysql>SET sql_mode='ANSI_QUOTES'mysql>CREATE TABLE "test" (col INT)Query OK, 0 rows affected (0.00 sec)
之前报错,设置SQL服务器模式包括ANSI_QUOTES模式后,运行成功。
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例使用单引号标注字符串常量,字串中包含的单引号需要转义(一个单引号写成两个单引号),否则会报错。
--mysql值中需要单引号使用“\'”
insert into mytable(text) values('I\'m Sail!')
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)