Python 连接 SQLite 数据库及基础增删改查操作
本文详细介绍了如何使用 Python 标准库 sqlite3 连接 SQLite 数据库,并演示了基础的数据库操作。通过具体的代码示例,展示了如何建立数据库连接、获取游标、执行查询语句以及插入数据。文章涵盖了从连接数据库到执行 SQL 命令的完整流程,帮助开发者快速上手 SQLite 在 Python 中的应用。
Python 连接 SQLite 数据库
在 Python 中操作 SQLite 数据库,主要依赖于内置的 sqlite3 模块。该模块提供了与 SQLite 数据库交互所需的所有功能,包括连接数据库、执行 SQL 语句以及处理结果集。以下是连接数据库的基本步骤:
- 导入模块:首先需要导入
sqlite3模块。 - 建立连接:使用
sqlite3.connect()方法连接到指定的数据库文件。如果文件不存在,该操作会自动创建一个新的数据库文件。 - 获取游标:通过连接对象的
cursor()方法获取游标对象,游标用于执行 SQL 命令。
import sqlite3
# 连接数据库,如果文件不存在则自动创建
con = sqlite3.connect("E:/Datebase/SQLiteStudio/Park.db")
# 获得游标
cur = con.cursor()执行查询操作
连接数据库并获取游标后,可以使用游标的 execute() 方法执行 SQL 查询语句。以下是一个简单的查询示例,展示了如何查询整个表的数据:
# 查询整个表
cur.execute('select *from '+table)
lists = ['name','password']
if table == 'login':
# 将数据库列名存入字典
colnames = {desc[0] for desc in cur.description}
# 将字典和数据库的数据一起存入列表,获得了记录字典
rowdicts = [dict(zip(lists, row)) for row in cur.fetchall()]
else:
rowdicts = []
for row in cur:
rowdicts.append(row)在上述代码中,首先执行了 select *from 语句来查询指定表的所有数据。然后,根据表名的不同,对查询结果进行了不同的处理。如果表名为 'login',则将数据库列名存入字典,并将字典和数据库的数据一起存入列表,获得了记录字典。否则,直接将查询结果存入列表。
插入数据操作
除了查询操作,SQLite 还支持插入、更新和删除数据。以下是一个插入数据的示例:
# 插入数据
def insert_data(ID,name,money):
con = sqlite3.connect("E:/Datebase/SQLiteStudio/Park.db")
cur = con.cursor()
# 使用SQL语句插入
cur.execute('insert into Charge values (?,?,?)', (ID,name, money))
# 插入后进行整表查询,看是否成功插入
cur.execute('select *from Charge')
print(cur.fetchall())
con.commit()
cur.close()在插入数据时,使用了 insert into 语句,并通过占位符 ? 来防止 SQL 注入攻击。插入数据后,通过执行 select *from 语句来验证数据是否成功插入。最后,调用 con.commit() 提交事务,并关闭游标和连接。
注意事项
在使用 Python 操作 SQLite 数据库时,需要注意以下几点:
- 事务管理:SQLite 默认开启事务,因此在执行插入、更新或删除操作后,需要调用
commit()方法来提交事务。 - 资源释放:操作完成后,应关闭游标和数据库连接,以释放系统资源。
- SQL 注入:在执行 SQL 语句时,应使用占位符来防止 SQL 注入攻击。
以上就是 Python 连接 SQLite 数据库及基础增删改查操作的详细内容,更多关于 Python 数据库操作、SQLite 高级用法、Python 数据库编程的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













