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实现哈希表
Feb 07 Python
python进阶教程之文本文件的读取和写入
Aug 29 Python
全面了解python字符串和字典
Jul 07 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
python中的随机函数小结
Jan 27 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
对Python 数组的切片操作详解
Jul 02 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
Python 动态变量名定义与调用方法
Feb 09 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python特殊属性property原理及使用方法解析
Oct 09 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
vuex state及mapState的基础用法详解
2018/04/19 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
Python循环语句中else的用法总结
2016/09/11 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
Django中的forms组件实例详解
2018/11/08 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
Python中私有属性的定义方式
2020/03/05 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
应届生.NET方向面试题
2015/05/23 面试题
师德学习感言
2014/01/31 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android