Common Lisp 操作Mysql
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Common Lisp 通過CFFI可以調(diào)用其它語言的接口,如此,Common Lisp可以快速開發(fā)各種應(yīng)用程序,本文將講述在ubuntu系統(tǒng)下的一個(gè)簡(jiǎn)單的Common Lisp與mysql交互的實(shí)例。
準(zhǔn)備
-
安裝CFFI
-
安裝CL-MYSQL
-
安裝MYSQL
-
安裝quicklisp
開始
啟動(dòng)slime或sbcl(本例使用slime).
進(jìn)入slime:
M+x slimeslime下加載quicklisp:
加載cffi和cl-mysql:
CL-USER> (ql:quickload "cffi") CL-USER> (ql:quickload "cl-mysl")
定義試驗(yàn)用的mysql操作包:
(defpackage :com.casic.mysql-oper(:use :common-lisp :cl-mysql :cl-mysql-system))#<PACKAGE "COM.CASIC.MYSQL-OPER">(注:本實(shí)例涉及到的mysql操作分別包含于cl-mysql包和cl-mysql-system包內(nèi),為避免經(jīng)常性地切換包,建立一包含以上兩包的自定義包mysql-oper)。
切換到自定義包:
CL-USER> (in-package :com.casic.mysql-oper)#<PACKAGE "COM.CASIC.MYSQL-OPER">鏈接mysql數(shù)據(jù)庫(kù):
MYSQL-OPER> (connect :host "localhost" :user "root" :password "")#<CONNECTION-POOL {BF51E81}>進(jìn)入現(xiàn)有數(shù)據(jù)庫(kù)test:
MYSQL-OPER> (query "use test")(((0) NIL))創(chuàng)建新表person_info:
MYSQL-OPER> (query "create table person_info\(id int\)")(((0) NIL))插入數(shù)據(jù):
MYSQL-OPER> (query "create table person-info\(id int\)")(((1) NIL)) 也可以處理multi-statements,多語句: MYSQL-OPER> (query "insert into person_info values \(2\);insert into person_info values \(3\);insert into person_info values \(4\)")(((1) NIL) ((1) NIL) ((1) NIL))查詢數(shù)據(jù):
MYSQL-OPER> (query "select * from person_info")((((1) (2) (3) (4)) (("id" :LONG 32768)))) 更新數(shù)據(jù): MYSQK-OPER> (query "update person_info set id=6 where id=4")(((1) NIL))MYSQL-OPER> (query "select * from person_info")((((1) (2) (3) (5)) (("id" "LONG 32768)) 刪除數(shù)據(jù): MYSQL-OPER> (query "delete from person_info where id=5")(((1) NIL)) MYSQL-OPER> (query "select * from person_info")((((1) (2) (3)) (("id" :LONG 32768))至此,Common Lisp通過cffi和cl-mysql操作mysql數(shù)據(jù)庫(kù)的基本功能完成。您可以像使用php一樣操作mysql數(shù)據(jù)庫(kù)建立自己的應(yīng)用程序了!
轉(zhuǎn)載于:https://my.oschina.net/u/1011760/blog/130787
總結(jié)
以上是生活随笔為你收集整理的Common Lisp 操作Mysql的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 稳定和高质量是最好的选择
- 下一篇: 我已出发