MySQL 中的三种引号

embedded/2024/10/23 3:52:27/

一:标识符和字符常量

要理解MySQL中三种引号的作用,首先就需要了解MySQL中标识符、字符串常量表示的是什么。

  • 标识符: 引用数据库对象名称。如:数据库名、表名、存储过程名称、列名。这些都是标识符。

  • 字符串常量: 表示固定文本值的一种形式。如:用户名、主机名、密码、字符串都是字符串常量。

二:MySQL中的 单引号

作用:只能用于字符串常量,不能用于其他场景。特别是字符常量里面包含一些非字母数字的字符、空格等。

  • 插入、更新、查询等操作中包含字符串值时要用双引号括起来。

  • 创建用户时,如果用户名或主机名不是简单的字母数字组合,还包含其他字符,也要用单引号括起来。

  • 指定密码时,密码部分必须用单引号括起来,因为 MySQL 的 SQL 语句要求所有字符串常量都用单引号括起来

  • 使用like= 进行字符串匹配时候,要用单引号引起来。

例如

create user 'replica'@'%' identified by 'eHIGh2014'show variables like '%sql_mode%'

三:MySQL中的 双引号

作用:受系统变量 sql_mode 的影响,一般不推荐使用双引号。

  • 如果包含ANSI_QUOTES:作用等同于反引号,用于引用标识符。只能用于引用标识符,不能用于其他场景。

  • 如果不包含ANSI_QUOTES:作用等同于单引号,用于引用字符串常量。

例如:查看sql_mode的值:

mysql> show variables like '%sql_mode%';

四:MySQL中的 反引号

作用:只能用于引用标识符,特别是当标识符包含特殊字符、空格或是保留字时。

例如:

-- 创建一个包含特殊字符的数据库
create database `cdzsface-cloud-dev `-- 创建一个包含特殊字符的表
CREATE TABLE `order-details` (`order-id` INT PRIMARY KEY,`product-name` VARCHAR(100)
);

常见错误:

# 如果sql_mode不包含ANSI_QUOTES,双引号作用等同于单引号,只能用于字符串常量,不能用于标识符,所以会报错
show create table "tb_device"\G# 绝对会报语法错误,因为单引号只能用于字符串常量
show create table 'tb_device'\G# 不会报错,因为反引号本来就是用于标识符
show create table "tb_device"\G

http://www.ppmy.cn/embedded/129729.html

相关文章

Android 设置特定Activity内容顶部显示在状态栏底部,也就是状态栏的下层 以及封装一个方法修改状态栏颜色

推荐:https://github.com/gyf-dev/ImmersionBar 在 Android 中要实现特定 Activity 内容顶部显示在状态栏底部以及封装方法修改状态栏颜色,可以通过以下步骤来完成: 一、让 Activity 内容显示在状态栏底部 在 AndroidManifest.xml 文件中,为特…

#MySQL `SELECT` 语句执行流程详解

在数据库操作中,MySQL 的 SELECT 语句是用于查询数据最常见的 SQL 语句之一。理解它的执行流程对数据库优化和性能提升具有至关重要的意义。本文将详细解析 SELECT 语句从发出请求到返回结果的每个步骤,并结合 MySQL 的架构为您提供深度理解。 ## 1. 连接…

java基于SpringBoot+Vue+uniapp微信小程序的自助点餐系统的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

MySQL-多表查询

子查询[分步走] 1:一个sql的查询结果当做另一个sql的查询条件. 2:内层的那个sql语句要先执行 sql -- todo --------------子查询---(嵌套查询)--------------- -- 例如,使用命令完成: -- (1)使用数据库班级db_product3下的商品表和…

【Linux】总线-设备-驱动模型

背景 前面,我们介绍了写驱动代码的一些常规步骤,并且也写了最基本的驱动代码,但是那些代码存在着问题,我们将硬件的信息都写进了驱动里了,如果我们在杂项设备驱动中控制led,那么会在硬件操作接口中包含硬件…

Spring Cloud微服务技术选型指南

Spring Cloud微服务技术选型指南 随着软件架构从单体应用向微服务转变,Spring Cloud作为一种强大的微服务架构开发工具被广泛采用。它提供了一系列组件和工具来简化微服务架构的开发、部署和管理。本博客将探讨Spring Cloud微服务技术选型的各个方面,帮…

Java基于SSM框架的教学辅助微信小程序【附源码、文档】

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

Vscode的远程开发之VScode优势(一)

一、VSCode 优势 时代的弄潮儿 vscode是微软开源的基于electron的编辑器,通过各种各样的插件,它能够变成你最花里胡哨的IDE。 vscode 最大的特点与优势就是它将Server与Client解耦: 作为Client的vscode,他只负责作为文本编辑器…