Python的sqlite3模块中常用函数

 更新时间:2023年10月18日 09:27:27   作者:hope_wisdom  
sqlite3模块是Python中的内置模块,用于与SQLite数据库交互,本文就来介绍一下Python的sqlite3模块中常用函数,感兴趣的可以了解一下

概述

在这一节,我们将介绍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') 来重置游标位置。

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()

到此这篇关于Python的sqlite3模块中常用函数的文章就介绍到这了,更多相关Python sqlite3模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中的哈希算法模块hashlib详解

    Python中的哈希算法模块hashlib详解

    这篇文章主要介绍了Python中的哈希算法模块hashlib详解,hashlib模块实现了多种哈希算法,包括MD5以及SHA家族的算法,通过algorithms_guaranteed可以查看hashlib中封装的所有算法,需要的朋友可以参考下
    2023-08-08
  • Python数据分析之如何利用pandas查询数据示例代码

    Python数据分析之如何利用pandas查询数据示例代码

    查询和分析数据是pandas的重要功能,也是我们学习pandas的基础,下面这篇文章主要给大家介绍了关于Python数据分析之如何利用pandas查询数据的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • 如何利用 Python 绘制动态可视化图表

    如何利用 Python 绘制动态可视化图表

    这篇文章主要介绍了如何利用 Python 绘制动态可视化图表,主要介绍介绍如何进行保存gif格式的文件。那么我们就开始进入主题,来谈一下Python当中的gif模块,需要的朋友可以参考一下
    2022-02-02
  • 使用Async IO在Python中进行异步编程的步骤详解

    使用Async IO在Python中进行异步编程的步骤详解

    许多程序员都熟悉编写顺序(同步)代码,在异步世界中,事件的发生独立于主程序流程,异步编程范例有助于并发执行这些任务,并确保您可以克服等待时间并更有效地使用资源,本文给大家介绍了使用Async IO在Python中进行异步编程,需要的朋友可以参考下
    2023-11-11
  • Win10下python 2.7.13 安装配置方法图文教程

    Win10下python 2.7.13 安装配置方法图文教程

    这篇文章主要为大家详细介绍了Win10下python 2.7.13 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python实现汉诺塔方法汇总

    python实现汉诺塔方法汇总

    本文给大家汇总了几种使用Python结合递归算法实现汉诺塔的方法,非常的简单实用,对大家学习Python很有帮助,希望大家能够喜欢
    2016-07-07
  • tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式

    tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式

    今天小编就为大家分享一篇tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python实现遍历数据库并获取key的值

    Python实现遍历数据库并获取key的值

    本文给大家分享的是Python实现遍历数据库并获取key的值的方法,主要是使用for循环来实现,有需要的小伙伴可以参考下。
    2015-05-05
  • pytorch中的模型训练(以CIFAR10数据集为例)

    pytorch中的模型训练(以CIFAR10数据集为例)

    这篇文章主要介绍了pytorch中的模型训练(以CIFAR10数据集为例),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python发送json参数的实例代码

    python发送json参数的实例代码

    在写脚本的过程中,除了发送form表单参数之外,我们还会发送json格式的参数。那么碰见json格式要怎么发送呢,这篇我们来解决这个问题,需要的朋友可以参考下
    2019-10-10

最新评论