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实现每次处理一个字符的三种方法
Oct 09 Python
Python中的模块和包概念介绍
Apr 13 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python守护线程用法实例
Jun 23 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
Mar 19 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
Python3中函数参数传递方式实例详解
May 05 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
python 利用panda 实现列联表(交叉表)
Feb 06 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
Yii2.0多文件上传实例说明
2017/07/24 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
jquery 上下滚动广告
2009/06/17 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
Python中的urllib模块使用详解
2015/07/07 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python打造爬虫代理池过程解析
2019/08/15 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
Python内置函数property()如何使用
2020/09/01 Python
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
上海方立数码笔试题
2013/10/18 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
挑战杯创业计划书的写作指南
2014/01/07 职场文书
创新比赛获奖感言
2014/02/13 职场文书
一年级班主任感言
2014/03/08 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python