mysql的别名可以不加引号,如果加引号,单引号和双引号以及反引号都可以,如下
创新互联公司服务项目包括蓬溪网站建设、蓬溪网站制作、蓬溪网页制作以及蓬溪网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,蓬溪网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到蓬溪省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
mysql的 字段名、表名 通常不需要加任何引号,如果非要加上引号,必须加反引号``(注意是英文状态),如下
QA:
Q:在给字段设置别名的时候,加单引号、双引号和不加有区别吗?
A:本质上都可以实现,但是如果引号引起来可以添加空格,不加引号的别名无法做到。
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 可组成良好的开发环境。
你所说的那个符号是反引号,一般在ESC键的下方。
它是为了区分MYSQL的保留字与普通字符而引入的符号。
举个例子:SELECT `select` FROM `test` WHERE select='字段值'
在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select='字段值'
不加反引号建的表不能包含MYSQL保留字,否则出错
用普通引号,当输入左引号时,后面的内容因为引号没有关闭而默认作为引号内的内容,用普通引号括起来的内容为绿色。
这就要从双引号和单引号的作用讲起:
双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."
但是SQL语句中会有单引号把字段名引出来
例如:select * from table where user='abc';
这里的SQL语句可以直接写成SQL="select * from table where user='abc'"
但是如果象下面:
$user='abc';
SQL1="select * from table where user=' ".$user." ' ";对比一下
SQL2="select * from table where user=' abc ' "
我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。
也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。
SQL1可以分解为以下3个部分
1:"select * from table where user=' "
2:$user
3:" ' "
字符串之间用 . 来连接,这样能明白了吧。
只用一次的时候,什么引号都可以,效果相同,例如:
insert into tab values (0, 'abc');
insert into tab values (1, "def");
当你引号里面的内容有单引号的时候,可以使用双引号,反之亦然,例如:
insert into tab values (2, 'abc"def');
insert into tab values (3, "def'ghi");