【问题标题】:How do I run SQL commands through Notepad++?如何通过 Notepad++ 运行 SQL 命令?
【发布时间】:2022-01-04 23:20:09
【问题描述】:

我正在尝试开始使用 Notepad++ 来运行 SQLite 命令。我尝试遵循两个简短的 YouTube 教程来帮助我前进。我可以运行初始 .bat 文件,但仍然无法运行 .sql 文件。

我有一个 Windows 系统环境路径变量设置为包含 sqlite3.exe

的文件夹
"C:\Users\Adam\sqlite\"

我已将以下文件 RunSQLite.bat 保存在包含 sqlite3.exe

的文件夹中
sqlite3.exe testDB.db

我创建了第二个文件 queries.sql

SELECT 34;

当我尝试从 Notepad++ 运行 queries.sql 时,使用 RUN 命令:

C:\Users\Adam\sqlite\RunSQLite.bat "$(FULL_CURRENT_PATH)"

似乎运行的唯一文件是 RunSQLite.bat,给出输出:

SQLite 版本 3.36.0 2021-06-18 18:36:39 输入“.help”获取使用提示。 sqlite>

谁能告诉我哪里出错了?

提前致谢。

aphopk

【问题讨论】:

  • 似乎您需要在 SQL 中进行管道传输,根据 manpage
  • 谢谢@hd1。你能详细说明一下吗?我的理解是,从 Notepad++ 中的 queries.sql 对话框启动的 RUN 命令应该调用将执行 sqlite3.exe 的 RunSQLite.bat。然后 RUN 命令的 "$FULL_CURRENT_PATH" 组件应该通过 queries.sql 中包含的命令运行。这将符合手册页中概述的“sqlite3 [options] [databasefile] [SQL]”格式。
  • 我不是 Windows 用户,抱歉,@AdamHopkins
  • @hd1 没有问题。感谢您查看它,无论如何

标签: sqlite notepad++


【解决方案1】:

Notepad++ 是一个文本编辑器,因此您现在可以使用它来编辑您的 SQL 文件。选择 Language > SQL 后,Notepad++ 将在您键入时突出显示 SQL 语法。尝试输入一些 SQL,例如

选择“嗨”; SELECT * FROM mydatabase WHERE id LIKE 'ID%'; 您将看到应用于您键入的文本的颜色、粗体和其他可能的格式。如果将文件保存为 something.sql,然后在 SQL 客户端中加载 something.sql,则客户端将从该文件运行 SQL 命令。如果你有一个现有的 somethingElse.sql 文件,你可以在 Notepad++ 中打开它,它会自动识别它是 SQL 并应用语法突出显示,允许你对其进行编辑和保存。

通过使用“运行”>“运行”对话框,您可以运行任意命令。例如,如果您的 SQL 客户端具有通过 sqlclient.exe 访问的命令行模式,您可以键入

c:\path\to\sqlclient.exe $(FILE_NAME) 如果你只是运行它,那可能不会显示任何结果……但如果你运行了

cmd /k c:\path\to\sqlclient.exe $(FILE_NAME) 它将打开一个新的 cmd.exe Windows 命令提示符,并显示该文件的输出。

如果您点击“保存”而不是运行,您可以为其命名(稍后将在“运行”菜单中结束)和/或键盘快捷键,以便您可以轻松地多次重复使用.

如果您想做一些更花哨的事情,请使用 NppExec 插件,它包含更好的批处理/脚本语言。再次,您可以保存 NppExec 脚本,并使其显示在宏菜单中。

如果 Python 是一种您知道或可以学习的编程语言(或者,如果您像我一样,知道足够多的其他编程语言可以伪造 Python),那么 Python 脚本插件将允许您做更花哨的事情。 (Python 是一门完整的编程语言,编写了许多库,可以充当 SQL 源文件和数据库引擎之间的接口;PythonScript 可以访问完整的 python2.7 解释器。例如,您可以在Python 从你的 SQL 中执行命令,从你的数据库引擎中获取结果,并在 Notepad++ 中显示它们,或者与你的原始 SQL 代码内联,或者在一个新的文本文档中。你真的只受你对 Python 的想象力和知识的限制.)

【讨论】:

  • 谢谢@suhdir。您提供的 RUN 示例会出现相同的问题。该进程运行 RunSQLite.bat,但随后不运行 queries.sql。我最终想做的是启动一个使用 RunSQLite.bat 运行的 sqlite3.exe 实例,然后使用单独的文件 queries.sql 有一系列命令用表填充数据库并运行查询。我希望这些从 Notepad++ 运行。从教程来看,这似乎是一个直截了当的提议,只是我无法让它工作。
  • python2.7 是 deprecrated,每个 pep0373。好消息是 sqlite3 模块幸存下来。
【解决方案2】:

如果在 shell 上运行,这个 C:\Users\Adam\sqlite\RunSQLite.bat "$(FULL_CURRENT_PATH)" 会做同样的事情。 RunSQLite.bat 不接受任何参数,因此 npp 中的 Run 命令按预期工作。

sqlite3 使用 .read 命令从外部文件获取输入。

尽管有类似这样的 bat 文件,但路径问题应该可以完成任务:

sqlite3.exe testDB.db ".read %1"

【讨论】:

  • 太棒了。谢谢你!
猜你喜欢
  • 2017-09-08
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-05
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多