Python连接SQLite数据库并进行增册改查操作方法详解


Posted in Python onFebruary 18, 2020

SQLite简介

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

SQLite数据库的使用

1.导入Python SQLite数据库模块

python2.5版本以后内置SQLite数据库

import sqlite3

2. 创建/打开数据库

调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开

conn = sqlite3.connect("E:/test.db")

或者也可以在内存中创建

conn = sqlite3.connect(":memory:")

3.数据库连接对象

打开数据库时返回的对象conn就是一个数据库连接对象,它可以有以下操作:

commit()--事务提交   

rollback()--事务回滚   

close()--关闭一个数据库连接   

cursor()--创建一个游标

关于commit(),如果isolation_level隔离级别默认,那么每次对数据库的操作,都需要使用该命令,你也可以设置isolation_level=None,这样就变为自动提交模式。

4.使用游标查询数据库

我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。

cu=conn.cursor()

游标对象有以下的操作:

execute()--执行sql语句   

executemany--执行多条sql语句   

close()--关闭游标   

fetchone()--从结果中取一条记录,并将游标指向下一条记录   

fetchmany()--从结果中取多条记录   

fetchall()--从结果中取出所有记录   

scroll()--游标滚动  

SQLite数据库操作

1. 创建数据库表

cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")

# 创建一张user表,表中有id(主键),名字(唯一),年龄,备注(默认为空)

2. 插入数据

请注意避免以下写法:

cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")
# 创建一张user表,表中有id(主键),名字(唯一),年龄,备注(默认为空)

正确的做法如下,如果t只是单个数值,也要采用t=(n,)的形式,因为元组是不可变的。

for user in[(0,'aaa',111,'aaaa'),(1,'bbb',222,'bbbb')]:
  conn.execute("insert into user values (?,?,?,?)", user) # 注意user是元组,不可变
conn.commit() # 注意插入操作之后要进行提交

3. 查询数据

cu.execute("select * from user") 
cu.fetchone() # 得到游标的第一个值
cu.execute("select * from user")
cu.fetchall() # 使用游标的fetch函数,fetchall得到所有的查询记录

4. 修改数据

cu.execute("update user set name='ccc' where id = 0")
conn.commit()

5. 删除数据

cu.execute("delete from user where id = 1") 
conn.commit()

更多关于Python连接SQLite数据库并进行增册改查操作方法请查看下面的相关链接

Python 相关文章推荐
横向对比分析Python解析XML的四种方式
Mar 30 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
python获取array中指定元素的示例
Nov 26 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
Jan 20 Python
python3 实现口罩抽签的功能
Mar 11 Python
Python爬取科目四考试题库的方法实现
Mar 30 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 #Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 #Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 #Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 #Python
Python如何实现小程序 无限求和平均
Feb 18 #Python
python_mask_array的用法
Feb 18 #Python
基于python3生成标签云代码解析
Feb 18 #Python
You might like
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
html向js方法传递参数具体实现
2013/08/08 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
Python yield 小结和实例
2014/04/25 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
Python制作动态字符图的实例
2019/01/27 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
python的sys.path模块路径添加方式
2020/03/09 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Python实现随机爬山算法
2021/01/29 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
个性大学生自我评价
2013/12/04 职场文书
新领导上任欢迎词
2014/01/13 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
植树节活动总结
2014/04/30 职场文书
文明寝室申报材料
2014/05/12 职场文书
工程材料采购方案
2014/05/18 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
关于环保的广播稿
2015/12/17 职场文书
60句有关成长的名言
2019/09/04 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server