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 07 Python
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
python构建自定义回调函数详解
Jun 20 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
Python中的延迟绑定原理详解
Oct 11 Python
详解Django CAS 解决方案
Oct 30 Python
python实现画循环圆
Nov 23 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
Python爬取梨视频的示例
Jan 29 Python
解决python 输出到csv 出现多空行的情况
Mar 24 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的类树(支持无限分类)
2006/10/09 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
js友好的时间返回函数
2016/08/24 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
浅析Python中的for 循环
2016/06/09 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python得到windows自启动列表的方法
2018/10/14 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
外企求职信范文分享
2013/12/31 职场文书
2014年师德承诺书
2014/05/23 职场文书
工程承诺书怎么写
2014/05/24 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
百年孤独读书笔记
2015/06/29 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书