Windows平台Python连接sqlite3数据库的方法分析


Posted in Python onJuly 12, 2017

本文实例讲述了Windows平台Python连接sqlite3数据库的方法。分享给大家供大家参考,具体如下:

之前没有接触过sqlite数据库,只是听到同事聊起这个。

有一次,手机端同事让我帮着写个sql,后面说运行不了报错了,我问是什么数据库,同事说是sqlite,这才知道了还有sqlite这个数据库。。。

接下来说说Python连接sqlite数据库,非常简单,因为python中的sqlite模块也遵循了DB-API 2.0的规范,所以操作起来和sql server、MySQL、oracle数据库都是一样的。

一、在 Windows 上安装 SQLite:

(1)请访问 SQLite 下载页面,从 Windows 区下载预编译的二进制文件:http://www.sqlite.org/download.html

(2)因为我的win 7是64位的,所以下载 sqlite-shell-win64-*.zip 和 sqlite-dll-win64-*.zip 压缩文件,如果你的系统是32位的就下载32位的版本。

(3)创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。

(4)添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果:

C:\Users\Administrator>sqlite3
SQLite version 3.15.2 2016-11-28 19:13:37
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>

二、创建一个数据库test.db

直接用命令行sqlite3创建数据库,然后用命令.database 查询系统中的数据库。

C:\Users\Administrator>sqlite3 test.db
SQLite version 3.15.2 2016-11-28 19:13:37
Enter ".help" for usage hints.
sqlite> .database
seq name       file
--- --------------- ----------------------------------------------------------
0  main       C:\Users\Administrator\test.db

注意:不要退出,因为接下来python要连接数据库(最后关闭数据库时,可以用.quit 命令退出sqlite3)。

三、python连接sqlite3

python中内置了sqlite模块,所以不需要安装,导入后就可以直接用。

需要特别注意的是,要把编写好的程序文件放到 test.db数据库相同的目录,这里是:C:\Users\Administrator,否则会发现程序中会创建一个新的test.db,并且是在当前程序运行的目录下,就查看不到数据库的变化了。

# -*- coding:gbk -*-
import sqlite3
conn = sqlite3.connect('test.db')
cur = conn.cursor()
cur.execute('create table t(id int,v varchar(20));');
cur.execute("insert into t values(%d,'%s')" % (1,'xxx'))
cur.execute("insert into t values(%d,'%s')" % (2,'yyy'))
cur.execute("update t set v = '%s' where id = %d" % ('zzz',2))
cur.execute("select * from t;")
results = cur.fetchall()
for row in results:
  print row
conn.commit()
cur.close()
conn.close()

每条数据都是一个元祖,所有记录组成了一个列表。

输出结果:

================ RESTART: C:\Users\Administrator\Desktop\r.py ================
(1, u'xxx')
(2, u'zzz')

代码非常简单,其实python连接sqlite3就是这么的简单

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python 流程控制实例代码
Sep 25 Python
Python中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
深入理解Python中装饰器的用法
Jun 28 Python
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
理解python中生成器用法
Dec 20 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
基于python二叉树的构造和打印例子
Aug 09 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
python 中split 和 strip的实例详解
Jul 12 #Python
Python实现简单的获取图片爬虫功能示例
Jul 12 #Python
python文件特定行插入和替换实例详解
Jul 12 #Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 #Python
python3之微信文章爬虫实例讲解
Jul 12 #Python
python脚本替换指定行实现步骤
Jul 11 #Python
Python书单 不将就
Jul 11 #Python
You might like
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
浅谈php扩展imagick
2014/06/02 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
python删除特定文件的方法
2015/07/30 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python输出各行命令详解
2018/02/01 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python中几种自动微分库解析
2019/08/29 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
python 瀑布线指标编写实例
2020/06/03 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
公司晚宴祝酒词
2015/08/11 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
nginx之内存池的实现
2022/06/28 Servers