应使用标签包裹行内非可执行sql片段,因其语义为“计算机代码”,仅作等宽文本展示且需转义特殊字符,适用于文档示例、错误日志、api说明等场景。

SQL语句该不该用 标签包裹?
应该,但仅限于行内展示的、非可执行的 SQL 片段。HTML 的 标签语义是「一段计算机代码」,它不改变 SQL 语法,也不执行查询,只是告诉浏览器「这段文字是代码,按等宽字体显示、不解析 HTML 实体」。如果你在文档里写 <code>SELECT * FROM users;,用户看到的就是带等宽字体的纯文本,不会触发数据库操作。
哪些 SQL 场景适合用 标签?
常见于技术文档、错误日志说明、API 响应示例或调试提示中——只要 SQL 是作为「内容」而非「指令」出现,就该用 。比如:
- 解释报错时引用出问题的语句:
WHERE created_at > '2024-01-01' - 文档中示意参数占位:
INSERT INTO logs (message, level) VALUES (<font color="red"><message></message></font>, <font color="red"><level></level></font>) - 命令行工具输出里的 SQL(如 Django 的
python manage.py sqlmigrate输出)
容易被忽略的转义和嵌套问题
SQL 里常含单引号、小于号、大于号,直接写进 HTML 会破坏结构。必须对特殊字符做 HTML 实体转义:
要写成 <code><(否则会被当成标签开始)-
>要写成> - 单引号
'一般不用转,但若外层用单引号包标签(如 <code>'SELECT id FROM t'),就得改成'或换双引号包整个标签 - 别用
<code> 套 SQL —— 那是为多行代码块准备的;单行 SQL 就用 <code>,干净且语义准确</code></code>
对比:错误写法 vs 正确写法
错误:SELECT * FROM products WHERE price (<p>正确:<code>SELECT * FROM products WHERE price < 100 AND active = true;
更安全的写法(尤其含多个特殊字符时):UPDATE config SET value = 'on&ready' WHERE key = 'status';
注意:SQL 中的 & 也要写成 &,因为 HTML 解析器会在进入 标签前先做一次实体解析。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











