MySQL客户端软件-HeidiSQL
HeidiSQL 是一个功能非常强大的 MySQL 客户端软件,采用 Delphi 开发,默认支持 Windows 操作系统,可以在Linux通过Wine来使用它。支持 PostgreSQL、MySQL、MariaDB、SQL Server。
HeidiSQL is an easy-to-use interface and a "working-horse" for web-developers using the popular MySQL-Database. It allows you to manage and browse your databases and tables from an intuitive Windows® interface.
Feature
* Manage Microsoft SQL Servers, with a reduced feature set
* Generate nice SQL-exports
* Synchronize tables between two databases
* Manage user-privileges
* Import text-files
* Export grid-data as CSV, HTML, XML, SQL, LaTeX and Wiki style
* Browse and edit table-data using a comfortable grid
* Create and edit tables, views, stored routines, triggers and scheduled events
* Bulk edit tables (move to db, change engine, collation etc.)
* Batch-insert ascii or binary files into tables
* Write queries with customizable syntax-highlighting and code-completion
* Profile your queries
* Pretty reformat disordered SQL
* Monitor and kill client-processes
* Connect to servers via commandline
* Find specific text in all tables of all databases of one server
* Optimize and repair tables in a batch manner
* And much more
HeidiSQL is OpenSource and released under GPL.
最新版本:12
v12.5 现已于2023年5月上旬发布,此版本具体更新内容如下:
3rd party updates:
将 libpq-15.dll 使用的 OpenSSL 库更新到 v3.1.0。
New stuff:
工具下的 Sequal Suggest 作为对话框的基本实现。用于通过自然语言生成 SQL 查询。https://sequal.dev/
错误修正和改进:
在 MySQL v8.0.13+ 上更改表时,在括号中包含列默认表达式
尝试在列的默认值中区分文本值和函数表达式,对于 MySQL 8.0.13+,似乎只允许所有函数作为默认值。
将缺少的 CURDATE 函数定义添加到 functions-mysql.ini
不要删除科学值中的 trailing zeros,例如 2.0e30 => 2.0e3。Closes #1793
自动检测是否需要创建 HTML clipboard header,从 StreamToClipboard () 中删除 CreateHTMLHeader 参数
重构 HTML clipboard code。
使 HTML 导出格式与 Google Chrome 兼容。
在 PostgreSQL 外键中支持 ON UPDATE SET DEFAULT 和同样的 ON DELETE。
Issue #1771:在 SSH 进程检查之间添加额外的休眠时间,这样当 WaitForSingleObject 没有真正等待时就不会有问题(在 Wine 上)
Issue #1771:对于较大的超时,倾向于采用较大的 SSH 进程检查间隔(timeout:4s => check interval:400ms),并记录每个间隔的进程退出代码。
当用户激活 SSH 隧道复选框时,从下拉列表中自动设置第一个 SSH 可执行文件。
支持在一个表的数据还未完成之前取消 SQL 导出。
确保 max INSERT 设置为 Int64,因此 huge value 不会换成负值。
详情可查看发行公告。
v12.7 现已于2024年5月中旬发布,此版本具体更新内容如下:
3rd party updates:
将 libmariadb.dll 和插件库更新到最新的 v3.3.8
将正则表达式库更新至 v1.181 2023.11.22,支持 \K 模式设置报告匹配的开头
将 InnoSetup 编译器更新至 v6.2.2
将 VirtualTrees 组件代码更新至 v8.0.3(重大版本更新)
Issue #1888:将 plink 可执行文件更新到 v0.81
将 madExcept 异常处理程序更新为 v5.1.4
将 libpq-15.dll 使用的 OpenSSL 库更新到 v3.1.5
从 2024 年 4 月 15 日起将 SQLite 库更新至 v3.45.3
为 “Apply filter” 按钮添加下拉菜单,并可以选择根据不同的输入文本覆盖当前过滤器
添加对具有降序列方向的索引的基本支持
将 “SQL INSERT IGNORE” 输出格式添加到网格导出对话框
在表工具对话框的树视图上方添加数据库和 table filter boxes
支持 MariaDB 10.10.1 中引入的其他 UCA collations
在 completion proposal 中显示列注释,为第三列提供更多左侧空间和斜体样式
Table editor:当用户遇到 “constraint is incorrectly formed” 提示时,从 SHOW ENGINE INNODB STATUS 中添加更有意义的行
支持按 “-- name: xyz” 注释命名结果选项卡,参阅此处
在网格导出对话框中重新排序组件,并将格式单选按钮转换为组合框。使对话框的宽度大于高度,为更宽的标签和更多格式选项创造空间
Grid export:实现 JSON Lines 格式
如果用户激活,则在表列列表和大多数其他主选项卡中交替使用行背景颜色。
错误修复和增强功能:
使用深色样式增强结果网格中焦点文本的可读性。否则 TreeOptions.PaintOptions.toGhostedIfUnfocused 会使文本变灰
修复在快速滚动到列表顶部时,SynCompletionProposalChange 中发生崩溃的问题
修复了 f_() 函数在某些翻译的格式说明无效时崩溃的问题。最近在日语中发生了这种情况
在用于导出视图的临时假表中支持长度为 0 的 VARCHAR 列
在 “about” 对话框中检测 Windows 11,并删除仅不再支持的 Windows Store 版本所需的功能
Search replace:忽略静态行 ID 列中的数字
Installer:添加匈牙利语和保加利亚语的新可用翻译
在 “工具” 主菜单中添加项目,用于将面板重置为其默认尺寸。对于很多在不同分辨率的屏幕之间移动应用程序窗口的人来说非常有用
Static row id:始终使用结果所属会话的颜色
Performance:仅每 20 秒调用一次 TimerHostUptimeTimer 事件,而不是每秒
SQL export dialog:将长文件列表缩减为 20 个最新项目
修复使用非默认主题删除最后一列时排序列对话框中的崩溃
重新格式化 SQL 代码后,将新行统一为 Windows 换行符,因此 SynMemo 中选择的 end 是正确的
修复从旧服务器上的当前数据库检索 MySQL 事件的问题,解决 MySQL bug 41907
通过在 unpressed state 下使用 gray-scale icon,使收藏夹按钮的按下状态更加明显
......
更多详情可查看发行公告。
v12.16现已于2026年3月下旬发布,具体更新内容包括:
错误修复和功能增强:
修复:在 MS SQL 中使用表编辑器重命名表时出现的 SQL 错误
修复:在 macOS 上使用默认的 brew 路径来运行 sshpass
feat:在 DoAfterConnect 调用中运行用户启动脚本,其中包括重新连接。
修复:当外部连接断开时,多个崩溃会导致主机子选项卡出现问题
修复:列选择中 “sort alphabetically” 复选框的全局设置未存储的问题
修复:在弹出式编辑器中开始编辑大段文本时,使用 SynEdit 高亮器会导致 CPU 占用率过高且无响应的问题
修复了在 OnFormShow 中启用 TShellListView.MultiSelect 时发生的崩溃问题,现在会在 FormShow 之前通过 setter 方法设置选项。
修复:在查询结果网格的空白区域单击鼠标右键时崩溃的问题
enhance:导出被表格筛选器隐藏的表格
refactor:迁移到 TSqlProvider
feat:重新启用 host > processes 上的可点击 “Analyze query” 标签。
修复:在 TfrmTableEditor.listForeignKeysNewText () 中分配的初始 FK 名称缺少引用表的表名,因为引用表尚未创建。
修复:SQLite 中错误的模式查询,始终显示第一个数据库文件的列和索引
修复:TEdit/TEditButton 类型转换错误导致的随机崩溃
修复:在 PostgreSQL 上加载所有外键(无论用户是否拥有这些外键)
修复:在 MS SQL 中,TDBQuery.TableName 始终返回空字符串
修复:在某些语言环境下,TDBQuery.Col () 会崩溃并显示 “Column not available” 的错误信息。
修复:允许在非 PostgreSQL 连接中再次使用 $$ 作为分隔符,在非 MySQL 连接中再次使用 ` 作为分隔符
值得关注的新内容
feat:在表格编辑器的 “Foreign keys” 选项卡中反转外键(如下截图所示)
feat:添加菜单项 Edit > Copy column names
feat:防止将同一 SQL 文件多次加载到编辑器中
feat:为 Windows 添加 sshpass.exe v1.0.6,并重构 Windows 安装程序脚本
ui:提示用户 sshpass 的搜索路径(macOS 和 Windows)
feat:在 SQL 导出过程中,将应用程序名称和版本信息注入到可能过长的 SQL 查询语句中
feat:添加 “Display” 主菜单,将一些展开项移至此处,并添加两个用于切换日志面板和树状过滤器的选项(截图如下)
feat:支持 MySQL 中的 BOOLEAN 列类型
feat:创建 SQL 导出选项,支持将 DML 命令封装在 BEGIN/COMMIT 事务中。
feat:在 MS SQL 数据库选项卡中显示表的近似行数
feat:支持 SQLite 中的完整表状态选项,显示每个表的 COUNT(*) 值对应的 “行数”。
feat:在 MySQL 和 MariaDB 上使用 Host > processlist 中的 “Kill process” 菜单项时,优先选择 KILL QUERY 而不是 KILL。

feat:在 SQLite 中显示虚拟列、存储列和隐藏列

官方主页:http://www.heidisql.com/
该文章最后由 阿炯 于 2026-03-20 13:21:22 更新,目前是第 2 版。