24 Python的sqlite3模块

这篇具有很好参考价值的文章主要介绍了24 Python的sqlite3模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

        在上一节,我们介绍了Python的shutil模块,包括:shutil模块中一些常用的函数。在这一节,我们将介绍Python的sqlite3模块。sqlite3模块是Python中的内置模块,用于与SQLite数据库交互。SQLite是一个轻量级的磁盘数据库,不需要单独的服务器进程。你可以在多个线程和进程之间共享SQLite数据库,并且它支持事务处理、零配置以及多种数据类型。

        下面,我们将逐一介绍sqlite3模块中一些常用的函数和类。

connect()函数

        connect()函数用于建立与SQLite数据库的连接。该函数接受一个数据库文件名作为参数,并返回一个连接对象,该对象可用于执行SQL命令和操作数据库。如果指定的数据库文件不存在,connect()函数将创建一个新的数据库文件。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

close()函数

        close()函数用于关闭数据库连接。一旦完成了与数据库的交互,使用close()函数是一个推荐的做法,因为它可以释放资源并确保连接被正确关闭。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 关闭数据库连接
conn.close()

cursor()函数

        cursor()函数用于创建一个游标对象,以执行SQL命令和处理结果。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

execute()函数

        execute()函数是游标对象(Cursor)的一个方法,用于执行SQL命令。使用execute()函数,可以执行各种SQL命令,比如:SELECT、INSERT、UPDATE、DELETE等。注意:execute()函数只是执行SQL命令,并不会自动提交更改。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行SQL命令  
cursor.execute('CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT)')

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

executemany()函数

        executemany()函数是游标对象(Cursor)的一个方法,用于执行相同的SQL命令多次,每次使用来自序列的不同参数。使用executemany()函数,可以在一次数据库交互中执行多次插入、更新或删除操作,这通常比重复执行execute()函数更有效。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行SQL命令多次  
users = [('Jack',), ('Tom',), ('Mike',)]
cursor.executemany("INSERT INTO users (name) VALUES (?)", users)

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

commit()函数

        commit()函数是数据库连接对象(Connection)的一个方法,用于提交事务。在SQLite中,事务是一组数据库操作,要么全部成功执行,要么全部回滚(撤销)。当我们在SQLite中执行多个操作时,可以使用事务来确保数据的一致性。

        使用commit()函数,可以提交之前执行的所有数据库操作。一旦调用了commit()函数,所有未提交的更改都会被保存到数据库中。如果在调用commit()函数之前发生了错误,可以选择回滚事务以撤销所有更改。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行一些数据库操作
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
cursor.execute("INSERT INTO users (name) VALUES ('Jack')")
cursor.execute("INSERT INTO users (name) VALUES ('Tom')")

# 提交更改
conn.commit()

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

fetchall()函数

        fetchall()函数是游标对象(Cursor)的一个方法,用于获取查询结果集中的所有行。使用该函数,可以一次性获取查询结果集中的所有行,并以列表的形式返回。每行数据表示为一个元组或列表,其中包含了该行的各个列的值。

        注意:如果查询结果集非常大,使用fetchall()函数可能会消耗较多的内存。在这种情况下,可以考虑使用 fetchone()或fetchmany()函数来分批获取查询结果。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行查询
cursor.execute('SELECT * FROM users')

# 获取查询结果集中的所有行
rows = cursor.fetchall()

# 输出查询结果
for row in rows:
    print(row)

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

fetchone()函数

        fetchone()函数是游标对象(Cursor)的一个方法,用于获取查询结果集中的下一行。使用该函数,可以逐行获取查询结果集中的数据。每次调用fetchone()函数,它会返回结果集中的下一行数据。当没有更多的行可用时,它将返回None。

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行查询
cursor.execute('SELECT * FROM users')

# 获取查询结果集中的下一行数据
row = cursor.fetchone()

# 输出查询结果
while row:
    print(row)
    row = cursor.fetchone()

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

fetchmany()函数

        fetchmany(size)函数是游标对象(Cursor)的一个方法,用于获取查询结果集中的多行数据,最多获取size行。注意:每次调用 fetchmany()都会从上次获取数据的地方开始继续获取,也就是说,如果先调用了fetchmany(5),然后再调用 fetchmany(5),那么第二次调用将返回查询结果的第6-10行。如果想要重新从头开始获取数据,需要先调用 cursor.scroll(0, mode='absolute') 来重置游标位置。文章来源地址https://www.toymoban.com/news/detail-713612.html

import sqlite3

# 连接到数据库文件
conn = sqlite3.connect('test.db')

# 创建游标对象
cursor = conn.cursor()

# 执行查询
cursor.execute('SELECT * FROM users')

# 最多获取5行数据
rows = cursor.fetchmany(5)

# 输出查询结果
for row in rows:
    print(row)

# 关闭游标
cursor.close()

# 关闭数据库连接
conn.close()

到了这里,关于24 Python的sqlite3模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python连接sqlite3工具类

    简单使用python连接sqlite3工具类,代码可根据场景自行抽象

    2024年01月16日
    浏览(34)
  • python sqlite3 线程池封装

    1.4.1. 创建表 1.4.2. 删除表 1.4.3. 插入数据 1.4.4. 删除数据 1.4.5. 更新数据 1.4.6. 查询数据 1.4.7. 测试 python在执行数据库查询语句出现如下异常: sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 65984 and this is thread id 61236. 错误

    2024年01月25日
    浏览(26)
  • Python3不支持sqlite3的解决方法

    先贴报错: 在网上查了一下,居然要我 先安装sqlite3,再重新编译安装python ,真无语了,奈何开发环境是Windows,话不多说,连上Centos开搞吧: 一、安装sqlite3的包 我这里把各个服务器都装上了,准备全都搞一遍,免得后面麻烦,请告诉我还是什么是不支持的吧,真想全都先

    2024年02月11日
    浏览(27)
  • python3使用sqlite3构建本地持久化缓存

    环境:Windows 10_x64 python版本:3.9.2 sqlite3版本:3.34.0 日常python开发中会遇到数据持久化的问题,今天记录下如何使用sqlite3进行数据持久化,并提供示例代码及数据查看工具。 python应用程序在运行过程中被kill掉(比如版本升级等情况),内存中的运行数据将会丢失,如果能够

    2024年02月05日
    浏览(26)
  • 02.sqlite3学习——嵌入式数据库的基本要求和SQLite3的安装

    目录 嵌入式数据库的基本要求和SQLite3的安装 嵌入式数据库的基本要求 常见嵌入式数据库 sqlite3简介 SQLite3编程接口模型 ubuntu 22.04下的SQLite安装 (1)安装SQLite3软件 sudo apt-get install sqlite3 (2)安装库文件 sudo apt-get install libsqlite3-dev 安装成功后输入sqlite3查看 (3)安装sqlite3可

    2024年02月11日
    浏览(57)
  • Python小论文-图书管理系统+Python+tkinter+sqlite3+PersistentDB线程池管理

    该系统主要通过tkinter库实现图书管理系统,包含对SQLite3数据库的增删改查的知识点。主要功能有:登录、注册、图书查询、借书、还书、图书录入、图书删除、图书统计、管理员新增、数据库查询等模块。 Python小论文-图书管理系统+Python+tkinter+sqlite3+PersistentDB资源池 Python桌

    2024年02月02日
    浏览(24)
  • 数据库--Sqlite3

     1、思维导图  2sqlite3在linux中是实现数据的增删,改 #includemyhead.h int main(int argc, const char *argv[]) {         //1、定义一个数据库句柄指针         sqlite3* ppDb =NULL;         //2、创建或打开数据库         if(sqlite3_open(\\\"./mydb.db\\\",ppDb)!=SQLITE_OK)         {                 printf(

    2024年04月27日
    浏览(37)
  • sqlite3数据库的实现

    sqlite3代码实现数据库的插入、删除、修改、退出功能

    2024年02月12日
    浏览(44)
  • sqlite3将词典导入数据库

    使用sqlite3代码实现将词典导入数据库中

    2024年02月12日
    浏览(44)
  • SQlite3数据库相关相关命令

    1. 创建表格 2. 插入数据 3. 查看数据库记录 4. 删除信息 5. 更新数据 6. 增加一列 7. 删除一列 (sqlite3 不支持直接删除一列) 1. 打开数据库 2. 关闭数据库 3. 错误信息 4. 执行一条sql语句 5. 查询回调函数 6. 查询函数 小知识:如果结构体中定义的是一级指针,那么你要定义变量取

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包