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

 更新时间:2020年02月18日 15:13:40   作者:freelamb  
这篇文章主要介绍了Python对SQLite数据库进行增册改查操作方法详解,需要的朋友可以参考下

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数据库并进行增册改查操作方法请查看下面的相关链接

相关文章

  • Matplotlib绘图基础之动画绘制详解

    Matplotlib绘图基础之动画绘制详解

    matplotlib的动画一直是一个强大但使用频率不高的功能,通过动画来展示数据和模型的变化过程,可使数据的可视化更加生动形象,下面就跟随小编一起学习一下Matplotlib是如何绘制动画的吧
    2023-08-08
  • Python基础知识_浅谈用户交互

    Python基础知识_浅谈用户交互

    下面小编就为大家带来一篇Python基础知识_浅谈用户交互。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 使用tkinter实现三子棋游戏

    使用tkinter实现三子棋游戏

    这篇文章主要为大家详细介绍了使用tkinter实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • Python Web框架Django的模型和数据库迁移详解

    Python Web框架Django的模型和数据库迁移详解

    Django 是一个极其强大的 Python Web 框架,它提供了许多工具和特性,能够帮助我们更快速、更便捷地构建 Web 应用,在本文中,我们将会关注 Django 中的模型(Models)和数据库迁移(Database Migrations)这两个核心概念,需要的朋友可以参考下
    2023-08-08
  • pytorch中的优化器optimizer.param_groups用法

    pytorch中的优化器optimizer.param_groups用法

    这篇文章主要介绍了pytorch中的优化器optimizer.param_groups用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python面向对象多态实现原理及代码实例

    Python面向对象多态实现原理及代码实例

    这篇文章主要介绍了Python面向对象多态实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Laravel+Dingo/Api 自定义响应的实现

    Laravel+Dingo/Api 自定义响应的实现

    这篇文章主要介绍了Laravel+Dingo/Api 自定义响应的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • python读写二进制文件的方法

    python读写二进制文件的方法

    这篇文章主要介绍了python读写二进制文件的方法,实例分析了Python读写二进制文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 聊聊python中的异常嵌套

    聊聊python中的异常嵌套

    这篇文章主要介绍了python中的异常嵌套的相关资料,帮助大家更好的理解和学习python 异常的相关知识,感兴趣的朋友可以了解下
    2020-09-09
  • 详解Python可视化神器Yellowbrick使用

    详解Python可视化神器Yellowbrick使用

    Yellowbrick是由一套被称为"Visualizers"组成的可视化诊断工具组成的套餐,其由Scikit-Learn API延伸而来,对模型选择过程其指导作用。这篇文章主要介绍了Python可视化神器Yellowbrick使用,需要的朋友可以参考下
    2019-11-11

最新评论