notepad++是纯文本编辑器,无法直接运行sql;所有“运行”功能均依赖调用本地已安装的mysql、psql等cli工具,需通过nppexec插件配置,且必须手动启用sql语言模式以支持高亮、缩进及格式化。

Notepad++ 本身不能运行 SQL,所谓“配置运行”,只是让它调用你电脑上已装好的 mysql、psql 或 sqlite3 这类命令行工具——没装对应 CLI,配置再多也白搭。
确保数据库 CLI 工具在系统 PATH 中
这是所有后续操作的前提。Notepad++ 不会帮你装 mysql,也不会自动找安装路径。
- 打开命令提示符(CMD)或 PowerShell,直接输入
mysql --version或psql --version,能返回版本号才算就位 - 如果报错
'mysql' is not recognized,说明没加到 PATH:找到 MySQL 安装目录下的bin文件夹(如C:\Program Files\MySQL\MySQL Server 8.0\bin),把它加进系统环境变量 PATH - 重启 Notepad++(不重启,PATH 变更不生效)
用 NppExec 调用 CLI 执行当前 SQL 文件
NppExec 是目前唯一稳定支持多步命令、变量替换和快捷触发的插件。别碰 DBGP、SQL Assistant 等已停更插件,它们在 v8.x 上基本不加载或点不动。
- 通过 Plugins → Plugins Admin 搜索安装
NppExec(v8.6+ 若提示 PluginManager 缺失,需先手动补PluginManager.dll) - 按
F6打开执行窗口,输入类似命令(以 MySQL 为例):cd "$(CURRENT_DIRECTORY)" mysql -h localhost -u root -p -D testdb
-
-p后不跟密码,让mysql交互式提示输入,避免明文泄露;若要用配置文件,提前建好~/.my.cnf并设好权限(chmod 600) - 点击 Save... 命名为
Run SQL via mysql,勾选 Place to the Macros submenu,之后就能从菜单或快捷键一键触发
必须手动设置 Language → SQL,否则高亮/格式化全失效
Notepad++ 默认不认 .sql 后缀,不设语言模式,SQLinForm 插件连 WHERE 都当普通单词处理,缩进全乱。
- 打开任意
.sql文件,菜单栏点 语言 → S → SQL(注意:不是 “MySQL” 或 “PL/SQL”,是顶层那个纯SQL) - 再进 设置 → 样式配置器 → 语言 → SQL → 扩展名,在输入框末尾加一个空格,再填
sql(已有ddl dml别删),点保存 - 如果用
.pgsql或.plsql后缀,也得手动加进去;Notepad++ 不会自动推断
SQLinForm 格式化前要过三关
它不是“装了就能用”的插件,v8.x 必须手动导入匹配架构的 DLL,且依赖语言模式和干净文本。
- 先确认 Notepad++ 架构:菜单 帮助 → 关于 Notepad++,右下角明确写
x64或x86;去官网下载对应 DLL(SQLinFormNpp64.dll或SQLinFormNpp32.dll) - 不要拖进 plugins 目录——走 设置 → 导入 → 导入插件,选中 DLL,重启后菜单才出现在 Plugins → SQLinForm
- 格式化前务必确保:当前文档语言是
SQL、选中内容不含 HTML/JS 混合块、文件编码为UTF-8(无 BOM);含中文注释或/*+ hint */的,建议先用正则把/*+替换为--+再格式化
最常被跳过的动作是手动点一次 语言 → SQL——这一步不执行,后面所有格式化、缩进、括号匹配都形同虚设。不是插件坏了,是 Notepad++ 根本没进入 SQL 解析上下文。











