Sublime运行SQL数据库查询语句_Sublime直接运行数据库脚本的操作细节【进阶】

云伟大大_9526

云伟大大_9526

2026-06-09

897人浏览

原创

sublime text 本身不能运行 sql 查询语句,必须调用系统已安装的 mysql、psql 或 sqlite3 等 cli 工具;ctrl+b 报 command not found 的根本原因是 gui 启动时未继承终端 path,需在 build system 中写绝对路径或正确配置环境变量。

sublime运行sql数据库查询语句_sublime直接运行数据库脚本的操作细节【进阶】

Sublime Text 本身不能运行 SQL 查询语句,所谓“直接运行”全是靠调用系统里已安装的 mysql、psql 或 sqlite3 这类 CLI 工具实现的——编辑器只负责传文件、捕获输出,真干活的是你本地装的那个命令行客户端。

为什么 Ctrl+B 执行 SQL 总是报 command not found

根本原因不是 Sublime 配置错了,而是它压根没找到你要用的数据库客户端命令。Build System 的 "cmd" 数组第一项必须是能被 shell 直接执行的路径,比如 mysql 或 /usr/bin/psql,而 Sublime GUI 启动时往往不继承终端的 $PATH。

  • macOS 用户常见情况:终端里 psql --version 能跑,但 Sublime 里 build 就报错 → 检查是否用 Homebrew 安装在 /opt/homebrew/bin/psql,得在 Build System 里写绝对路径
  • Windows 用户注意:mysql 默认不进 PATH,MySQL Installer 很可能没勾选 “Add MySQL to PATH”,要手动把 C:Program FilesMySQLMySQL Server 8.0in 加进去
  • Linux 下如果用 snap 安装的 MySQL,mysql 命令可能被沙盒隔离,build 时不可见,建议改用 apt 安装的版本

Build System 中怎么安全传密码和处理中文

硬编码密码在 .sublime-build 文件里既不安全也不健壮;而 Windows 下 SQL 文件含中文,source $file 极易乱码,这两点必须分开处理。

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载
  • 密码不要写在 "cmd" 里,比如 -proot 是明文且空格敏感 → 改用 --defaults-file 指向一个权限为 600 的配置文件,内容如:
    [client]
    user=root
    password=your_pass
  • Windows 下中文乱码:在 "cmd" 最前面加 "chcp 65001 >nul &&"(UTF-8),再跟原命令,例如:["chcp", "65001", ">", "nul", "&&", "mysql", "-u", "root", "--defaults-file=C:\my.cnf", "testdb", "-e", "source $file"]
  • Linux/macOS 不用切编码,但要注意 mysql 默认字符集可能是 latin1,可在连接参数里加 --default-character-set=utf8mb4

执行多条语句时为什么只跑第一句

mysql -e "SELECT 1; SELECT 2;" 这种写法在 CLI 里能跑,但在 Build System 里用 -e + source $file 组合时,source 是 mysql 客户端命令,不是 SQL 语句,不能嵌套在 -e 里执行——结果就是只执行了第一条,后续全被忽略。

  • 正确做法是去掉 -e,直接让 mysql 读文件:["mysql", "-u", "root", "--defaults-file=/path/to/my.cnf", "mydb", ",但注意 Sublime 的 build 不支持 shell 重定向符号 <code>,得包一层 <code>sh -c 或 cmd /c
  • 更稳的方案:用 mysql -u ... mydb 写成 shell 命令,<code>"cmd" 改为 ["sh", "-c", "mysql -u root --defaults-file=/path/to/my.cnf mydb
  • SQLite 更简单:["sqlite3", "app.db", ".read", "$file"],前提是 $file 里每条语句结尾有分号,且不含 SQLite 特有命令(如 .tables)

SQLTools 插件连上了却执行不了语句

SQLTools 显示 “Connected” 但按 ctrl+shift+e 没反应或报 “Driver not found”,大概率不是网络或权限问题,而是驱动没装对、路径没配准、或 CLI 工具版本不兼容。

  • 必须单独安装对应驱动:用 MySQL 就搜 SQLTools MySQL Driver,不是只装 SQLTools 核心就行;PostgreSQL 同理,漏掉 SQLTools PostgreSQL Driver 就会卡住
  • 插件 settings 里 "executablePath" 必须填绝对路径,比如 /opt/homebrew/bin/mysql,不能只写 mysql;Windows 下路径里的反斜杠要双写或用正斜杠
  • MySQL 8.0+ 默认用 caching_sha2_password 认证插件,SQLTools 的旧版驱动不支持 → 创建用户时显式指定:CREATE USER 'dev'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass';

最常被忽略的一点:Build System 的 "selector": "source.sql" 必须匹配当前文件语法高亮模式。如果右下角显示的是 “Plain Text” 而不是 “SQL”,ctrl+b 就不会触发该构建系统——点击右下角手动切到 SQL,或者保存为 .sql 后缀再试。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime text

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

2023.10.12

4083

8

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.27

871

4

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

2024.02.23

1069

5

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

5961

10

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

2024.03.06

2863

4

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

2024.04.07

5940

11

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

2024.04.29

7921

6

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

1070

5

sql中删除一列的命令是什么
sql中删除一列的命令是什么

在sql中,使用alter table语句可以删除一列,语法为:alter table table_name drop column column_name。想了解更多sql的相关内容,可以阅读本专题下面的文章。

2024.04.29

932

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程