当前位置: 代码网 > it编程>前端脚本>Python > Python 操作SQLite3数据库的方法(示例详解)

Python 操作SQLite3数据库的方法(示例详解)

2026年08月19日 Python 我要评论
在python中操作sqlite3数据库,通常使用sqlite3模块。这个模块提供了操作sqlite数据库的接口,包括创建连接、执行sql语句、提交事务等。一、概述从python3.x版本开始,在标准

在python中操作sqlite3数据库,通常使用sqlite3模块。这个模块提供了操作sqlite数据库的接口,包括创建连接、执行sql语句、提交事务等。

一、概述

           从python3.x版本开始,在标准库中已经内置了sqllite3模块,它可以支持sqlite3数据库的访问和相关的数据库操作。在需要操作sqlite3数据库数据时,只须在程序中导入sqlite3模块即可。python语言操作sqlite3数据库的基本流程如下所示。
(1)导入相关库或模块(sqlite3)。
(2)使用connect()连接数据库并获取数据库连接对象。它提供了以下方法:
    .cursor() 方法来创建一个游标对象
    .commit() 方法来处理事务提交
    .rollback() 方法来处理事务回滚
    .close() 方法来关闭一个数据库连接
(3)使用con.cursor()获取游标对象。
(4)使用游标对象的方法(execute()、executemany()、fetchall()等)来操作数据库,实现插入、修改和删除操作,并查询获取显示相关的记录。在python程序中,连接函数sqlite3.connect()有如下两个常用参数。
database:表示要访问的数据库名。
timeout:表示访问数据的超时设定。
(5)使用close()关闭游标对象和数据库连接。数据库操作完成之后,必须及时调用其close()方法关闭数据库连接,这样做的目的是减轻数据库服务器的压力。

二、使用sqlite3创建表

使用sqlite3模块的connect方法来创建/打开数据库,需要指定数据库路径,不存在则创建一个新的数据库。
con=sqlite3.connect(‘e:/sqllitedb/first.db’)
下面实例代码演示使用sqlite3创建数据库的过程。

#导入sqllite3模块
import sqlite3
# 1.硬盘上创建连接
con = sqlite3.connect('e:/sqlitedb/first.db')
# 获取cursor对象
cur = con.cursor()
# 执行sql创建表
sql = 'create table t_person(pno integer primary key  autoincrement ,pname varchar(30) not null ,age integer)'
try:
    cur.execute(sql)
except exception as e:
    print(e)
    print('创建表失败')
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

三、使用sqlite3插入数据

调用游标对象的execute执行插入的sql,使用executemany()执行多条sql语句,使用executmany()比循环使用excute()执行多条sql语句效率高。
【示例】使用sqlite3插入一条数据

#导入sqllite3模块
import sqlite3
# 1.硬盘上创建连接
con = sqlite3.connect('e:/sqlitedb/first.db')
# 获取cursor对象
cur = con.cursor()
# 执行sql创建表
sql = 'insert into t_person(pname,age) values(?,?)'
try:
    cur.execute(sql,('张三',23))
    #提交事务
    con.commit()
    print('插入成功')
except exception as e:
    print(e)
    print('插入失败')
    con.rollback()
finally:
    # 关闭游标
     cur.close()
    # 关闭连接
    con.close()

【示例】使用sqlite3插入多条数据

#导入sqllite3模块
import sqlite3
# 1.硬盘上创建连接
con = sqlite3.connect('e:/sqlitedb/first.db')
# 获取cursor对象
cur = con.cursor()
try:
    #执行sql创建表
    sql = 'insert into t_person(pname,age) values(?,?)'
    cur.executemany(sql, [('张三', 23), ('李四', 25), ('小红', 24), ('小李', 12)])
    #提交事务
    con.commit()
    print('插入成功')
except exception as e:
    print('插入失败')
    con.rollback()
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

三、使用sqlite3查询数据

查询数据,游标对象提供了fetchall()和fetchone()方法 。fetchall()方法获取所有数据,返回一个列表。fetchone()方法获取其中一个结果,返回一个元组。
【示例】fetchall()查询所有数据

#导入sqllite3模块
import sqlite3
# 1.硬盘上创建连接
con = sqlite3.connect('e:/sqlitedb/first.db')
# 获取cursor对象
cur = con.cursor()
# 执行sql创建表
sql = 'select * from t_person'
try:
    cur.execute(sql)
    # 获取所有数据
    person_all = cur.fetchall()
    # print(person_all)
    # 遍历
    for p in person_all:
        print(p)
except exception as e:
    print(e)
    print('查询失败')
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

【示例】fetchone()查询一条数据

#导入sqllite3模块
import sqlite3
# 1.硬盘上创建连接
con = sqlite3.connect('e:/sqlitedb/first.db')
# 获取cursor对象
cur = con.cursor()
# 执行sql创建表
sql = 'select * from t_person'
try:
    cur.execute(sql)
    # 获取一条数据
    person = cur.fetchone()
    print(person)
except exception as e:
    print(e)
    print('查询失败')
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

【示例】修改数据

#导入sqllite3模块
import sqlite3
#1.硬盘上创建连接
con=sqlite3.connect('e:/sqlitedb/first.db')
#获取cursor对象
cur=con.cursor()
try:
    #执行sql创建表
    update_sql = 'update t_person set pname=? where pno=?'
    cur.execute(update_sql, ('小明', 1))
    #提交事务
    con.commit()
    print('修改成功')
except exception as e:
    print(e)
    print('修改失败')
    con.rollback()
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

【示例】删除数据

#导入sqllite3模块
import sqlite3
#1.硬盘上创建连接
con=sqlite3.connect('e:/sqlitedb/first.db')
#获取cursor对象
cur=con.cursor()
#执行sql创建表
delete_sql = 'delete from t_person where pno=?'
try:
    cur.execute(delete_sql, (2,))
    #提交事务
    con.commit()
    print('删除成功')
except exception as e:
    print(e)
    print('删除失败')
    con.rollback()
finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

到此这篇关于python 操作sqlite3数据库的方法(示例详解)的文章就介绍到这了,更多相关python sqlite3数据库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com