Common Lisp 操作Mysql
2019独角兽企业重金招聘Python工程师标准>>>
Common Lisp 通过CFFI可以调用其它语言的接口,如此,Common Lisp可以快速开发各种应用程序,本文将讲述在ubuntu系统下的一个简单的Common Lisp与mysql交互的实例。
准备
安装CFFI
sudo apt-get install cl-cffi
安装CL-MYSQL
sudo apt-get install cl-sql-mysql
安装MYSQL
sudo apt-get install mysql-server
安装quicklisp
wget http://beta.quicklisp.org/quicklisp.lisp
开始
启动slime或sbcl(本例使用slime).
进入slime:
M+x slime
slime下加载quicklisp:
CL-USER> (load "quicklisp.lisp")
CL-USER> (quicklisp-quickstart:install)
CL-USER> (ql:add-to-init-file)
加载cffi和cl-mysql:
CL-USER> (ql:quickload "cffi") CL-USER> (ql:quickload "cl-mysl")
定义试验用的mysql操作包:
(defpackage :com.casic.mysql-oper(:use :common-lisp :cl-mysql :cl-mysql-system))#<PACKAGE "COM.CASIC.MYSQL-OPER">
(注:本实例涉及到的mysql操作分别包含于cl-mysql包和cl-mysql-system包内,为避免经常性地切换包,建立一包含以上两包的自定义包mysql-oper)。
切换到自定义包:
CL-USER> (in-package :com.casic.mysql-oper)#<PACKAGE "COM.CASIC.MYSQL-OPER">
链接mysql数据库:
MYSQL-OPER> (connect :host "localhost" :user "root" :password "")#<CONNECTION-POOL {BF51E81}>
进入现有数据库test:
MYSQL-OPER> (query "use test")(((0) NIL))
创建新表person_info:
MYSQL-OPER> (query "create table person_info\(id int\)")(((0) NIL))
插入数据:
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))
查询数据:
MYSQL-OPER> (query "select * from person_info")((((1) (2) (3) (4)) (("id" :LONG 32768))))
更新数据:
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))
删除数据:
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数据库的基本功能完成。您可以像使用php一样操作mysql数据库建立自己的应用程序了!
转载于:https://my.oschina.net/u/1011760/blog/130787
Common Lisp 操作Mysql相关推荐
- c rs232 mysql_C++操作mysql方法总结(2)
C++通过ODBC和通过MFC ODBC操作mysql的两种方式 使用vs2013和64位的msql 5.6.16进行操作 项目中使用的数据库名和表数据请参考C++操作mysql方法总结(1)中的介绍 ...
- 实用Common Lisp编程——函数
有了语法和语义规则以后,所有Lisp程序的三个最基本组成部分就是函数.变量和宏.在第3章里构建数据库时,这三个组件已经全部用到了,但是我没有详细提及它们是如何工作的,如何更好使用它们.接下来的几章将专 ...
- Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp
2019独角兽企业重金招聘Python工程师标准>>> Vim 下使用 Slimv(类似Slime) 轻松调试 Common Lisp 目录 前情回顾 安装slimv 数据配置 默认 ...
- python mysql工具类_Python工具类(一)—— 操作Mysql数据库
如何调用直接看__main__函数里如何调用此工具类就阔以啦! # encoding=utf-8 import pymysql # 导入所有Mysql配置常量,请自行指定文件 from conf.se ...
- Win10+Python+Django+Nginx+MySQL开发教程及实例(2)——Python连通操作MySQL
Win10+Python+Django+Nginx+MySQL开发教程及实例 PaulTsao 本系列教程共有四篇内容: 第一篇: 开发环境搭建 第二篇:用Python连通操作MySQL 第三篇:用N ...
- Common Lisp学习之一:初识CL的语法与语义
Lisp是一类语言的统称,指那些使用前缀表达式和S表达式进行代码编写和编译的语言.此类语言有CL,Scheme,Racket,Clojure等.Lisp语言和其他语言相比,其优势在于无比强大的抽象能力 ...
- Common Lisp 超规范(译文):2. 语法
2. 语法 2.1 字符语法 2.2 读取器算法 2.3 token 标记的解释 2.4 标准宏字符 2.1 字符语法 Lisp 读取器[Lisp reader]从一个流[stream]中读取字符[c ...
- Practical Common Lisp [个人翻译版]
1. 引言 ********** Lisp?!啥玩意? ========== 如果你也认为简洁优雅的代码是你的追求,那Lisp就是你的最佳选择. 使用Lisp,你可以写出比其他语言更简洁的代码,同时多 ...
- Common Lisp 超规范(译文):8.结构体
8. 结构体 8.1 结构体的字典 宏 DEFSTRUCT 函数 COPY-STRUCTURE 宏 DEFSTRUCT 语法(Syntax): defstruct name-and-options [ ...
最新文章
- 应用层下的人脸识别(一):图像获取
- 再学 GDI+[33]: TGPPen - 画笔的几何变换 - SetTransform
- vue2.0+stylus实现商品增加减少控制按钮组件
- pdf文档遇到了共享冲突_如何将链接共享为PDF格式的Google文档链接
- 【问题解决】无法创建新的堆栈防护页面
- 前端学习(3289):react hook state-hook
- boost.asio基础篇 小白入门注解
- 第一篇 mybatis的简介
- JDK集合框架结构分析(二)
- [转载]仿射变换(Affine Transformation)
- ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述
- 目前国内汉语自动分词系统的研究现状
- windows server 2008 R2 补丁下载地址
- 剧本创作时的标准格式,让你的剧本轻松得到制片公司青睐
- 在校生学习云计算HCIE难吗?好就业吗?
- 一文能读懂车载与Android的关系
- 杜教筛 (包括线筛) 莫比乌斯函数前缀和 欧拉函数前缀和 因数和函数前缀和 因子个数前缀和 ( 分析 )...
- 敏捷开发之道 总结小记
- labview接收串口通信数据不正常的解决办法
- python项目报告书_python项目
热门文章
- 机器人学习--智能移动机器人的有关技术演讲(浙大-熊蓉教授-2018年)
- Python IDLE 如何清屏
- Java实现插入排序及其优化 insertion sort
- C++中如何使输出的1变成01
- 服务器上有图片但是app不显示不出来,网络app图片显示不出来的
- oracle中国授权机构查询,oracle授权查询
- python最新功能_Python在2020的新增功能:第1部分
- 人民日报智慧媒体研究院与第四范式合资成立智媒新创 赋能智慧媒体创新
- micropython随笔-hello,world
- 【Python】机器学习矩阵运算必学库Numpy首秀!