zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

EDBC(Emacs-Lisp Database Connectivity)

2023-03-14 10:18:45 时间

今天更新了之前的 Emacs-CGI,把其中的数据库连接模块拎出来,作为一的独立的项目:EDBC(Emacs-Lisp Database Connectivity)。项目地址:https://github.com/redraiment/edbc 文档地址:https://github.com/redraiment/edbc/wiki

现在通过抽象,edbc.el 就是定义了一个框架,规范了 elisp 中程序访问各种数据库的简洁、统一的接口。目前已经支持 MySQL 和 Sqlite 两种。并且,参考 edbc-mysql.el 能非常方便支持其他数据库!

下面是访问 Sqlite 的样例:

(edbc-with-connect ((url "users.db"))
  (let ((id 1)
        (name "Joe")
        (nickname "redraiment"))
    ; Purge table
    (edbc delete from users)
    ; Equals insert into users (id, name) values (1, 'Joe') on sqlite
    (edbc insert into users (id, name) values (:id, :name))
    ; Equals update users set name = 'redraiment' where id = 1 on sqlite
    (edbc update users set name = :nickname where id = :(identity id))
    ; Returns ((("id" . "1") ("name" . "redraiment")))
    (edbc select * from users)))