如何在emacs lisp中执行SQL查询?

时间:2010-06-17 20:06:30

标签: database postgresql emacs elisp

我想执行SQL查询并在elisp中获取结果:

(let ((results (do-sql-query "SELECT * FROM a_table")))
     (do-something-with results))

我正在使用Postgres,我已经知道我的所有连接信息(主机,用户名,密码,db等)我只想执行查询并同步返回结果。

4 个答案:

答案 0 :(得分:3)

我没有尝试过,但pg.el看起来很有希望。

答案 1 :(得分:1)

我最近遇到了关于SQLite的this ..尚未使用它,但它看起来像是一种方法。

答案 2 :(得分:0)

我最后使用此表单调用psql:

(shell-command-to-string
   (concat sql-postgres-program
                 " -h DBHOST -t"
                 " -c \"SELECT db FROM defines.databases WHERE role = '" tier "' AND db ~ '^" string "';\""
                 " -U USERNAME DBNAME"))

似乎工作得很好。我必须选择它(使用保罗链接的功能)并分割结果,但我得到了我需要的东西。

答案 3 :(得分:0)

sql.el内置于emacs,有两种模式;你应该能够使用它来发送来自elisp的mysql命令,但它似乎并没有让你明白如何做到这一点。

我不确定这完全可以在没有用户交互的情况下从elisp中运行,或者是在sql-mode中。它确实具有发送字符串以执行的功能。

This link看起来很有趣;它背负着mysql模式,使模式更像你希望它的工作方式。