MySQL 注释用法详解
在 MySQL 中,注释是提高 SQL 语句可读性的重要手段,可用于解释逻辑、标注功能或临时屏蔽代码。MySQL 支持三种注释方式,适用于不同场景:
单行注释
1. # 开头的注释
- 语法:
# 注释内容(# 后直接跟注释文字,无需空格)。
- 适用场景:单行注释,常用于 SQL 语句末尾或单独一行。
1 2 3 4 5 6
| SELECT * FROM users WHERE status = 1;
SELECT COUNT(*) FROM orders WHERE create_time >= CURDATE();
|
2. --开头的注释
- 语法:
-- 注释内容(注意 -- 后必须跟至少一个空格,否则会被视为 SQL 语法的一部分)。
- 适用场景:单行注释,与
# 功能类似,是 SQL 标准的注释方式。
1 2 3 4 5 6 7
| SELECT name, age FROM students WHERE age > 18;
UPDATE products SET price = price * 1.05 WHERE category = 'electronics';
|
多行注释
/* ... */ 块注释
- 语法:
/* 注释内容 */(可跨多行,/* 表示开始,*/ 表示结束)。
- 适用场景:多行注释,常用于解释复杂逻辑、标注大段代码功能,或临时屏蔽多行 SQL。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
SELECT u.id, u.name, COUNT(o.id) AS order_count, SUM(o.amount) AS total_amount FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE o.create_time >= '2023-01-01' AND o.status = 'paid' GROUP BY u.id;
|
注释的注意事项
- 注释位置:
- 可放在 SQL 语句的开头、中间或结尾,但需注意不要破坏语法结构。
- 例如:
SELECT id, name /* 这是中间注释 */ FROM users; 是合法的。
-- 后的空格:
- 若
-- 后无空格(如 --注释),MySQL 会将其视为语法错误(部分版本可能兼容,但不推荐)。
- 临时调试:
- 多行注释
/* ... */ 常用于临时屏蔽代码(如调试时注释掉 DELETE/UPDATE 语句,避免误操作)。
- 存储过程 / 函数中的注释:
- 在存储过程、函数或触发器中,注释可提高代码可维护性,建议对复杂逻辑添加详细说明。
v1.3.10