跳转到内容

DB 客户端

Blyck 的 DB 客户端以同一界面操作 SQLite · Oracle · PostgreSQL · MSSQL · MySQL 五种引擎。无需另外的 DB 工具,在一个窗口里就能完成连接 · 架构浏览 · 编写 SQL · 分析结果 · 修改数据 · 导出 · 自然语言生成 SQL。

在新标签页菜单(+)中选择引擎,或点击已保存的连接。

引擎必填项默认端口备注
SQLite文件路径超过 256MB·被锁定时自动切换为只读
OracleHost · Port · Service Name · 用户 · 密码1521默认 Thin → 失败时自动回退 Thick
PostgreSQLHost · Port · Database · 用户 · 密码5432架构·SSL 选项
MSSQLHost(服务器\实例)· Port · Database · 用户 · 密码1433仅 SQL 认证(不支持 Windows 集成认证)
MySQLHost · Port · Database · 用户 · 密码3306SSL 选项

在连接对话框中打开 强制 Thick 选项,则始终以 Thick 模式连接。默认会先尝试 Thin,失败则回退到 Thick;连接后头部会显示 Oracle 已连接 (Thin)Oracle 已连接 (Thick)。使用 Thick 模式时,需在对话框中填入 64 位 Oracle Instant Client 路径。

在连接对话框中填入 保存名称 后,连接信息会被永久保存。密码通过 OS 加密(Windows DPAPI / macOS Keychain)保护,此后无需输入密码,点击一次即可立即连接。


连接后,左侧树会显示 TABLES / VIEWS / INDEXES / TRIGGERS / ROUTINES 各分区。

  • 展开表 · 视图会显示列列表(名称 · 类型 · PK 图标),双击会在 SQL 编辑器中立即执行前 200 行查询。
  • 双击索引 · 触发器 · 例程会将 DDL 加载到编辑器。
  • 可将树中的表·列名拖入 SQL 编辑器进行插入。

在顶部搜索栏中选择 名称 / 列 / 二者 范围进行搜索。按列搜索时,相应的表会自动展开,头部显示 N / 全部 计数。

项目行为
详情查看列类型 · 是否可 NULL · 默认值 · 索引信息
查询前 200 行按引擎方言(LIMIT / TOP / ROWNUM)自动执行对应查询
查看 DDL将 CREATE 语句加载到编辑器
列分析NULL 比例 · 唯一值数 · 众数 · 数值统计(min/max/均值,基于样本)

执行 DDL 查询后,500ms 后树会自动在后台重新索引以反映变更。要手动刷新,请点击头部的 按钮。


通过双击表或树头部的 新建查询 按钮打开编辑器。

按钮行为
切换自然语言→SQL 输入栏
执行查询(Ctrl+Enter)
停止执行(仅在执行中时可用)
+添加 SQL 标签

导轨底部会显示当前面板的 SQL 标签列表,便于在标签间快速切换。

  • DB名 — SQL ▾:连接切换下拉
  • 自动提交 复选框 / 提交 / 回滚
  • AI(Ctrl+I):单元格 AI(分析网格选区)
  • 历史 / 代码片段 / 导出 ▾ / 格式化 / 关闭(Esc)
  • Ctrl+Enter 或 ▶ 按钮执行。
  • 选中文本的状态下执行,则仅执行选中范围。
  • 自动完成所连接 DB 的表·列名。
  • 格式化 按钮以 SQL 子句前换行为准运行内置排版器。
  • DML 执行后状态行会显示 完成 —— 变更 N 行 · Xms 或红色错误。

将自动提交复选框关闭后进入手动事务模式。执行 DML 也不会立即确认,而是保持 ● 未确认 状态。用 提交 按钮确认,或用 回滚 按钮撤销。


点击 ■ 按钮后,取消分两步进行。

  1. 软取消(立即) —— UI 立即返回,使令牌失效并丢弃结果。状态行显示 执行已中断
  2. 服务端取消(best-effort) —— 向引擎发送取消信号。当 DB 服务器在检查点识别到时,查询被中断。
引擎取消方式
Oracleconnection.break() → 返回 ORA-01013
MSSQLrequest.cancel() → TDS Attention 报文
PostgreSQL用独立连接执行 pg_cancel_backend(pid) —— 保留原连接
MySQL用独立连接执行 KILL QUERY threadId —— 保留原连接
SQLite无服务端取消 —— 仅软取消(立即中断)

点击 SQL 编辑器标题 DB名 — SQL ▾,会显示当前打开的所有 DB 连接列表,当前连接处带 ✓ 标记。选择某个连接后,编辑器中的 SQL 保持不变,仅切换执行目标 DB


结果以虚拟滚动网格显示,即使数十万行也能流畅浏览。

  • 行号(#)列 在横向滚动时也固定。点击会打开行详情查看器。
  • 状态栏 显示 N 行 · Xms 执行信息。
  • NULLNULL 区分显示(与空字符串区分)。
  • 可拖动调整列宽
  • 排序:点击列头会在升序(▲)· 降序(▼)间切换。
  • 过滤:在顶部输入框输入文本,会对所有列以部分匹配实时过滤(仅过滤显示行,不重新查询 DB)。

默认显示 5,000 行,超出时用 再加载 5,000 行 按钮以 OFFSET/FETCH 累加加载。

拖动选择矩形范围,用 导出 ▾ → 剪贴板(TSV) 复制即可直接粘贴到 Excel。用 Shift+双击 在查看器中查看单元格完整值。


仅当结果为单表 SELECT 且包含 PK 列时,单元格编辑才会启用。

  1. 双击单元格修改值。
  2. 点击 提交 按钮,编辑器中会追加 UPDATE … WHERE PK=… 语句。
  3. Ctrl+Enter 执行以生效。

已执行的变更与其他 DML 一样记录在变更历史(Ctrl+Shift+H)中,可以撤销。


通过结果网格工具栏的 + 行复制行 按钮可使用 staged INSERT。

按钮行为
+ 行添加空行(留空则为 NULL)
复制行复制选中行的所有列值,添加为新行

添加行并编辑单元格后,点击 保存 按钮。保存时会临时关闭自动提交并执行 INSERT,因此之后需用 提交回滚 确认或取消。


选择 导出 ▾CSVExcel

  • 流式方式:主进程直接流式写入磁盘,因此数百万行也无需担心内存。
  • 进度模态显示 N / 全部行 (X%),可用 取消 按钮中途停止。
  • CSV:含 UTF-8 BOM(在 Excel 中中文正常显示)。
  • Excel(.xls):1,048,575 行上限。

用 SQL 编辑器左侧导轨的 按钮切换自然语言输入栏。

▸ 本月销售额前 5 名的客户
▸ 按天展示上周注册的用户数

执行顺序:关键词分析 → 对活动连接的全部架构打分 → 筛选相关表·列 → 生成 SQL(显示各步进度和经过时间)。生成的 SQL 会插入到光标行下方(不覆盖既有内容)。可用 Ctrl+Z 撤销,生成过程中也可用 取消 按钮中断。

生成的 SQL 会进入编辑器,因此经检查后由你手动执行 —— 不会自动执行。


保存常用 SQL 以便快速调用。

  • 点击工具栏 代码片段 按钮 → 保存当前 SQL(输入名称,留空则自动取 SQL 开头)。
  • 点击条目会加载到编辑器,用 ✕ 删除。
  • 代码片段为全局保存,可在任何 DB 编辑器中使用。

点击工具栏 历史 按钮,会按最新顺序显示成功的查询(自动去重)。点击条目会加载到编辑器。历史保存在 userData/db-history.json 中。


在网格中选择单元格范围后,按 Ctrl+I 或点击工具栏 AI 按钮,即可将选中数据作为上下文向 AI 提问。

▸ 帮我分析其中的异常点
▸ 用这些数据生成 UPDATE 查询
▸ NULL 比例高的列原因是什么?

会以选中值 · 表名 · 已执行 SQL · PK 信息 · 引擎种类作为上下文分析。超过 200 行时仅传递前 200 行。


在树上右键 → 选择 列分析,可基于样本查看表的实际数据统计。

status 列 —— NULL 2.3% · Distinct 4 个 (active, inactive, pending, blocked) · 众数 active 87%
amount 列 —— NULL 0% · min 100 · max 9,800,000 · 均值 452,000

提供 NULL 比例 · 唯一值数 · enum 候选,数值型则提供 min/max/均值。可用于在编写查询前掌握列特征,或用于索引设计。


在 SQL 编辑器中用 Ctrl+Enter 直接执行的查询会无需确认直接执行(面向高级用户)。作为补偿,所有 DDL/DML 都会自动记录在变更历史中,可以撤销(见下文)。会在执行前弹出确认窗的情形有以下两种。

路径行为
AI 执行的 SQL(db_query 工具)读取自动执行,写入·破坏性(DROP/TRUNCATE/无 WHERE 的 DELETE 等)弹确认对话框。prod 标签连接强化一级
SQL 代码块 ▶ 执行(AI 回答·代码编辑器 codelens)DROP/DELETE/UPDATE/TRUNCATE/ALTER/GRANT/REVOKE 等会连同查询预览一起确认

在架构树上右键 → DROP TABLE… 之类的操作,需直接输入表名才能执行,需经过强确认。

执行 DDL/DML 时会自动备份变更前的数据,人和 AI 的执行都可以撤销。

  • 小量(≤1,000 行,含 PK 的单表):在内部历史 DB 中以 JSON 保留变更前的行。
  • 大量 / 复杂 / 无 PK:在目标 DB 中创建备份表(blyck_bak_…)保留,撤销后自动删除。
  • DROP / TRUNCATE 等部分 DDL 无法生成逆 SQL,会标记为不可撤销项

请在变更历史(Ctrl+Shift+H)中选择条目执行 撤销。无 WHERE 的大批量 UPDATE · DELETE 也可用备份数据恢复。


AI 聊天直接调用 DB 工具。

▸ 帮我在这个表里找出重复邮箱
▸ 给我看 orders 架构并推荐索引
▸ 上个月订单取消率最高的客户 TOP 10

执行顺序:查询架构(db_schema)→ 必要时列分析 → 编写·执行查询(db_query)→ 失败时自我修正。写入查询始终会通过上述安全装置(确认对话框)。


功能文档
链接 DB 到 SQL 编辑器,实现代码中 SQL 自动完成代码编辑器
将 DB 架构·结果纳入 RAG 通用检索通用检索(RAG)
变更历史·DML 撤销变更历史 · Git
用 AI 聊天自动化 DB 作业AI 聊天

出现 Oracle NJS-116 错误。
这是 Thin 驱动不支持的密码校验器方式。请在连接对话框中打开 强制 Thick 并填入 64 位 Instant Client 路径。

按了 ■ 中断但查询不停。
服务端取消是 best-effort 方式,会在下一个检查点识别。繁重的聚合查询请稍候。SQLite 没有服务端阶段,会立即中断。

大批量查询过程中应用崩溃。
请使用 导出 ▾(磁盘流式) 代替网格剪贴板复制。Excel 上限为 100 万行。

在 Excel 中打开 CSV 后中文乱码。
CSV 以 UTF-8 BOM 保存。请使用 Excel 数据导入 → 指定编码 65001 UTF-8,或用 剪贴板(TSV) 直接粘贴。

无法编辑单元格。
仅在单表 SELECT 且包含 PK 列的结果中启用。JOIN · GROUP BY · UNION · DISTINCT 或视图结果无法编辑。

自然语言→SQL 结果用了错误的表。
重建索引并在 📒 术语表 中注册业务术语·表映射,可提升准确度。

连接后树立即为空。
连接成功后,架构索引可能需要几秒。请尝试点击头部 刷新按钮。若正在 Oracle Thick 回退中,连接完成可能需要更长时间。