首页
学习
活动
专区
圈层
工具
发布

mysql sql语句注释

在 MySQL 中,​​SQL 语句注释​​用于在 SQL 代码中添加说明、提醒或临时禁用某部分代码,而不会被 MySQL 执行。注释对于代码的可读性、维护性以及调试都非常有帮助。


一、MySQL 支持的注释类型

MySQL 提供了 ​​三种主要类型的注释方式​​:


1. ​​单行注释(推荐常用)​

语法 1:使用 #开头

  • ​注释内容​​从 #开始,到该行结束
  • ​适用于:​​ MySQL 特有,非常常见
代码语言:javascript
代码运行次数:0
复制
# 这是一个单行注释(MySQL风格)
SELECT * FROM users;

✅ ​​推荐在 MySQL 命令行、脚本、存储过程中广泛使用​


语法 2:使用 --(双横线 + 空格)

  • ​注释从 --开始,后面必须跟至少一个空格​​,然后是注释内容
  • ​注释到该行结束​
代码语言:javascript
代码运行次数:0
复制
-- 这也是一个单行注释(标准SQL风格,注意空格)
SELECT * FROM products;

⚠️ 注意:--后面​​必须有一个空格​​,否则可能不会被识别为注释(某些客户端可能不严格要求,但最好加上)


2. ​​多行注释(块注释)​​(标准 SQL,跨数据库通用)

语法:使用 /*开始注释,*/结束注释

  • 可以跨多行
  • 可出现在 SQL 语句的任何位置(开头、中间、甚至语句中间某段)
代码语言:javascript
代码运行次数:0
复制
/*
这是一个多行注释(块注释),
可以写多行内容,
用于详细说明一段SQL的用途等。
*/
SELECT * FROM orders;

🔹 ​​示例:注释掉某部分代码(临时禁用)​

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM users
/*
WHERE status = 'inactive'
*/
AND age > 18;

✅ 上面的 SQL 实际执行的是:SELECT * FROM users AND age > 18;(WHERE status 那行被注释掉了)

⚠️ 注意:如果注释写法不对(比如缺少 */),会导致 SQL 语法错误!


3. ​​在 SQL 语句中间使用注释(内联注释)​

你可以在 SQL 语句的​​任意位置插入注释​​,比如在列名后、表名后、条件中间等,提高代码可读性。

代码语言:javascript
代码运行次数:0
复制
SELECT 
    user_id,        -- 用户唯一标识
    username,       # 用户名
    created_at      -- 注册时间
FROM users
WHERE status = 'active';  /* 只查询活跃用户 */

✅ 这种写法在复杂 SQL 中非常常见,用于解释字段、表用途、条件含义等


二、注释的常见使用场景

场景

示例

说明

​​解释 SQL 用途​​

-- 查询所有活跃用户SELECT * FROM users WHERE status = 'active';

增强代码可读性

​​临时禁用代码​​

SELECT * FROM users-- WHERE status = 'deleted'

快速注释某条件,不用删除代码

​​多行说明​​

/*<br> 该 SQL 用于生成每日销售报表<br> 创建时间:2024-06-01<br>*/SELECT ...

详细说明一段逻辑

​​字段解释​​

SELECT user_id -- 用户ID, name -- 姓名 FROM users

行内解释列含义

​​调试 SQL​​

注释掉部分 JOIN 或 WHERE 条件,逐步排查问题

常用调试技巧


三、注释的最佳实践 ✅

建议

说明

​​推荐使用 #或 --(带空格)做单行注释​​

尤其是在 MySQL 脚本、存储过程、函数中常见

​​复杂逻辑使用 /* ... */多行注释​​

便于写多行说明,比如表用途、作者、时间等

​​注释与代码保留同一缩进​​

增强可读性

​​避免过多无意义注释​​

注释应解释“为什么”,而非“做什么”(代码本身应尽量清晰)

​​调试时可以灵活注释部分代码​​

比如临时禁用 WHERE、JOIN、ORDER BY 等


四、示例汇总

示例 1:单行注释(# 和 --)

代码语言:javascript
代码运行次数:0
复制
# 查询所有用户
SELECT * FROM users;

-- 以下查询年龄大于18的用户(注意空格)
SELECT * FROM users WHERE age > 18;

示例 2:多行注释(/* ... */)

代码语言:javascript
代码运行次数:0
复制
/*
  目的:查询活跃用户的订单信息
  作者:Hunyuan
  日期:2024-06-01
*/
SELECT 
    o.order_id,
    u.username
FROM orders o
JOIN users u ON o.user_id = u.user_id
WHERE o.status = 'active';

示例 3:内联注释(代码中解释)

代码语言:javascript
代码运行次数:0
复制
SELECT 
    user_id,    -- 用户唯一ID
    username,   # 登录名
    email       -- 联系方式
FROM users
WHERE is_active = 1;  /* 只查询激活用户 */

示例 4:注释掉代码块(调试用)

代码语言:javascript
代码运行次数:0
复制
SELECT 
    u.user_id,
    u.name,
    o.order_date
FROM users u
-- WHERE u.is_vip = 1
JOIN orders o ON u.user_id = o.user_id
WHERE o.order_date > '2024-01-01';

✅ 上面 SQL 中 WHERE u.is_vip = 1被注释掉了,不会生效

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL语句注释的妙用

前言  今天在学习MySQL时学到SQL语句时,发现其也是存在存在注释的,我就不是很明白这样的注释到底有啥用?在与度娘一番攀谈交心后得出了答案。在此记录一下。  ...MySQL里面的SQL语句,里面是可以加注释的  例如: "select * from author where authorid=1" 也可以写成 "/* get a author */select...那好看下面:  1、在PHP里面的设定sql语句 $sql = '/* FILE: ' . __FILE__ . ', LINE: ' . __LINE__ . ' */ ' ....6、访问量大或者程序写得烂的时候,数据库系统往往会出现进程过多的情况,很多mysql语句排队等待执行,这个时候,找到最耗资源的SQL语句是当务之急。...有了SQL注释,我们能够迅速定位到卡死系统的sql语句是哪个php文件的哪一行。然后到那里仔细推敲代码,解决问题。 本篇文章采用 署名 4.0 国际 (CC BY 4.0) 许可协议进行许可。

63320
  • MySQL常用SQL语句大全

    :     >SELECT * FROM tb_name WHERE id=3;   2、HAVING 语句:     >SELECT * FROM tb_name GROUP BY score...BETWEEN a AND b、NOT     AND 、OR     Linke()用法中 % 为匹配任意、 _ 匹配一个字符(可以是汉字)     IS NULL 空值检测 八、MySQL...的正则表达式:   1、Mysql支持REGEXP的正则表达式:     >SELECT * FROM tb_name WHERE name REGEXP ‘^[A-D]’ //找出以A-D 为开头的...九、MySQL的一些函数:   1、字符串链接——CONCAT()     >SELECT CONCAT(name,’=>’,score) FROM tb_name   2、数学函数:     ...*)>1;   2、条件使用Having;   3、ORDER BY 排序:     ORDER BY DESC|ASC    =>按数据的降序和升序排列 十一、UNION规则——可以执行两个语句

    3.4K20

    史上最强最常用SQL语句大全【超详细注释】

    史上最强最常用SQL语句大全【超详细注释】 摘要 作为数据库操作的核心工具,SQL(结构化查询语言)在数据管理和查询中扮演着至关重要的角色。...本文将全面介绍最常用的SQL语句,覆盖数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。通过丰富的代码示例和详细注释,帮助您深入理解和灵活运用SQL。...本文将系统性地介绍最常用的SQL语句,并为每个语句提供详细注释和实际案例,帮助您在实际项目中得心应手地使用它们。...本文详细介绍了常用的SQL语句,通过丰富的案例和详细注释帮助您深入理解每个语句的使用方法。 未来展望 随着数据库技术的不断发展,SQL 语句和数据库操作的方式也在不断演变。...我们将继续更新和完善这份SQL语句大全,欢迎大家持续关注。 参考资料 MySQL 官方文档 PostgreSQL 官方文档 SQL Server 官方文档 SQLite 官方文档

    6.2K31

    MySQL执行sql语句的机制

    查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。...分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。...第一步,词法分析,一条 SQL 语句有多个字符串组成,首先要提取关键字,比如 select,提出查询的表,提出字段名,提出查询条件等等。做完这些操作后,就会进入第二步。...第二步,语法分析,主要就是判断你输入的 sql 是否正确,是否符合 MySQL 的语法。 优化器: 按照 MySQL 认为最优的方案去执行。 执行器: 执行语句,然后从存储引擎返回数据。...SQL 等执行过程分为两类, 一类对于查询等过程如下:权限校验—-》查询缓存—-》分析器—-》优化器—-》权限校验—-》执行器—-》引擎 对于更新等语句执行流程如下:分析器——》权限校验——》6267

    5.1K30

    MySQL指南之SQL语句基础

    ---- 零、结构化查询语言:SQL(Structured Query Language) DDL 数据定义语言 管理库,表 DML 数据操作语言 增删改查 DCL 数据控制语言...来一波字符串操作 MySQL查询LEVER2.png 1.建表语句 CREATE TABLE pic( id INT UNSIGNED AUTO_INCREMENT PRIMARY...| +----------------------+--------+ ---- 三、子查询 (LEVER 3) 1.查询大于平均尺寸的图片 -- WHERE |--- 出现在其他SQL...语句内的SELECT语句 |--- 子查询必须在()内 |--- 增删改查都可以进行子查询,返回:标量,行,列或子查询 |-- 1-1:查出图片平均大小 SELECT ROUND(AVG(pic_length...全(外)连接 (伪):使用UNION MySQL不支持全外连接,所以只能采取关键字UNION来联合左、右连接的方法 UNION : 将若干条sql的查询结果集合并成一个。

    5.1K30
    领券