SQL 查询工具
2026/6/30大约 4 分钟
SQL 查询工具
功能简介
SQL 查询工具用于在 SamWaf 的本地数据库上进行只读查询,并查看数据库的表结构信息,方便排查数据、核对统计或临时检索记录。
出于安全考虑,本工具不支持直接输入 SQL 语句,而是通过「选择表 → 选择列 → 设置条件」的方式构造查询(页面提示:出于安全考虑,本工具不支持直接输入 SQL;请通过选择表、列与条件进行查询)。涉及敏感数据的表与列(如账号、密钥等)不会出现在可选列表中。
页面分为两个标签页:SQL 查询(结构化查询向导)与 数据库结构。可查询的数据库有三类:本地数据库(local)、日志数据库(log)、统计数据库(stats)。
操作步骤
一、结构化查询
- 进入「SQL 查询工具」页面,停留在「SQL 查询」标签页。
- 选择数据库:本地 / 日志 / 统计。
- 查询模式:
- 列表:返回符合条件的数据行;
- 计数:只返回符合条件的行数。
- 选择表:从下拉框选择要查询的表(仅列出允许查询的表)。
- (列表模式)查询列:多选要返回的列,留空 = 全部可见列。
- 查询条件(可选):点击「添加条件」逐条添加,每条为「列 + 运算符 + 值」,多条之间为「与(AND)」关系。
- 运算符支持:
=、!=、>、>=、<、<=、like、in; in的值用英文逗号分隔多个。
- 运算符支持:
- (列表模式)返回上限:限制返回行数,范围 1–1000。
- 点击 执行查询:
- 列表模式在下方以表格展示结果,并显示「共 N 条记录」,支持分页,空值显示为
NULL; - 计数模式显示「符合条件共 N 条」。
- 列表模式在下方以表格展示结果,并显示「共 N 条记录」,支持分页,空值显示为
二、查看数据库结构
- 切换到「数据库结构」标签页。
- 在下拉框选择目标数据库,点击 刷新 加载该库的所有用户表。
- 页面顶部展示 表数量 与 总行数 汇总;表格列出每张表的表名、行数、字段数、索引数(默认按行数倒序,可点击列头排序)。
- 对每张表可执行:
- 查询Top100:切换到「SQL 查询」标签页,对该表以列表模式查询前 100 行。
- 详情:打开弹窗查看该表的字段信息(序号、字段名、类型、非空、默认值、主键)与索引信息(索引名、唯一、类型、包含字段)。
字段说明
SQL 查询(结构化向导)
| 字段 / 按钮 | 说明 |
|---|---|
| 选择数据库 | 查询目标库:本地 / 日志 / 统计数据库。 |
| 查询模式 | 列表(返回数据行)或 计数(只返回行数)。 |
| 选择表 | 要查询的表,仅列出允许查询的表。 |
| 查询列 | 列表模式下多选返回列,留空 = 全部可见列。 |
| 查询条件 | 结构化条件「列 + 运算符 + 值」,多条为 AND;运算符 = != > >= < <= like in,in 值用英文逗号分隔。 |
| 返回上限 | 列表模式返回行数上限,1–1000。 |
| 执行查询 | 提交查询。列表结果显示「共 N 条记录」,计数结果显示「符合条件共 N 条」。 |
数据库结构
| 列 | 说明 |
|---|---|
| 表名 | 数据表名称。 |
| 行数 | 该表的记录行数(千位分隔显示)。 |
| 字段数 | 该表的列数量。 |
| 索引数 | 该表的索引数量。 |
| 操作 | 查询Top100 / 详情。 |
表详情弹窗中的字段信息列:序号、字段名、类型、非空、默认值、主键;索引信息列:索引名、唯一、类型、包含字段。
常见问题
- 为什么不能直接输入 SQL? 出于安全考虑,本工具已改为结构化查询向导,不接收任意 SQL 语句,而是通过选择表、列与条件构造查询,从源头避免 SQL 注入与越权读取风险。
- 能执行更新 / 删除吗? 不能。本工具仅支持只读查询(列表 / 计数)。
- 为什么有些表 / 列看不到? 涉及敏感数据的表与列(如账号、密钥等)已从可查询列表中排除,无法选择。
- 能查询哪些数据库? 本地数据库、日志数据库、统计数据库三类。
- 结果有数量上限吗? 列表模式可设「返回上限」(1–1000),结果分页展示。
- 它和命令行
execsql有什么关系? 命令行execsql面向本机管理员、能力更宽(可执行 SELECT/UPDATE/DELETE 等);管理端页面则收敛为结构化只读查询,两者定位不同。
