mysql反引号的使用

问题描述:以前学习中用的是SQL SERVER2005,最近刚开始使用MYSQL,发现MYSQL的单引号很麻烦,是斜体的 ``,现在打出来就是左边那两个点,如果使用平时使用的普通单引号' ' 就会显示运行错误,建不了表请问怎么回事?怎么打出那种引号?  还有就是如果手动建表(不打代码的那种),执行后MYSQL自动的语句中没有引号,如果用那种方式拉出来建表运行却可以正常建立,但是有些地方又很大不同,上面那种斜体引号的ENGINE=MyISAM 在不加引号的里面就成了TYPE = MyISAM  请问平时应用是用哪个?斜体引号的还是不加引号的?
问题补充:用那种不加引号的方法打出的语句执行,虽然也会提示有错误,但却可以建表成功 ,怎么回事??
还有就是为什么用普通单引号(就用一个 '时)后面不少字段会变绿 ? 像被注释掉一样


问题回答:你所说的那个符号是反引号,一般在ESC键的下方。
它是为了区分MYSQL的保留字与普通字符而引入的符号。
举个例子:SELECT `select` FROM `test` WHERE select='字段值'
在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
引号一般用在字段的值,如果字段值是字符或字符串,则要加引号,如:select='字段值'
不加反引号建的表不能包含MYSQL保留字,否则出错
用普通引号,当输入左引号时,后面的内容因为引号没有关闭而默认作为引号内的内容,用普通引号括起来的内容为绿色。

 
反引号`,数字1左边的符号。
保留字不能用于表名,比如desc,此时需要加入反引号来区别,但使用表名时可忽略反引号。
create table desc报错
create table `desc`成功
create table `test`成功
drop table test成功
保留字不能用于字段名,比如desc,此时也需要加入反引号,并且insert等使用时也要加上反引号。
create table `test`(`desc` varchar(255))成功
insert into test(desc) values('fxf')失败
insert into test(`desc`) values('fxf')成功

### Mysql单引号使用方法 在 MySQL 查询中,引号(`)用于标识数据库对象名称,如数据库名、表名和列名。这有助于区分保留字或包含特殊字符的对象名称。 #### 语法说明 当对象名称与 MySQL 的保留关键字相同或是包含空格或其他特殊字符时,应该使用引号将其包围起来。例如: ```sql SELECT `select`, `from` FROM `my table`; ``` 这里 `select` 和 `from` 是 SQL 关键词,而 `my table` 包含了一个空格;如果不加引号,则会引发解析错误[^2]。 对于普通的字母数字组合以及下划线组成的标识符来说,在大多数情况下可以省略引号。但是为了保持一致性并防止潜在冲突,建议总是加上它们。 #### 实际应用案例 考虑创建一个名为 "user_data" 的表格,并定义其中某些字段也带有特殊字符或者同名于 SQL 预留关键词的情况: ```sql CREATE TABLE IF NOT EXISTS `user_data` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `first name` VARCHAR(50), `last_name` VARCHAR(50), `date of birth` DATE, `group` ENUM('admin', 'member') ); ``` 在这个例子中,“first name”, “date of birth” 含有空格,而 `group` 则是一个 SQL 预留关键字。因此这些都需要用引号括起来以确保正确识别。 另外值得注意的是,虽然可以在字符串常量里使用单引号或双引号来表示文本值,但这两种方式并不适用于标识符命名上。只有引号才能用来包裹这样的名字[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值