Python操作SQLite3数据库实战:连接、查询、插入、更新、删除与关闭
49 浏览量
更新于2024-08-30
收藏 74KB PDF 举报
"本文将详细讲解Python开发SQLite3数据库的相关操作,包括连接、查询、插入、更新、删除和关闭数据库的技巧。SQLite是一款轻量级的嵌入式数据库,Python的sqlite3模块提供了与SQLite交互的接口。我们将通过示例代码来阐述如何使用这些操作。"
在Python中,SQLite3数据库的使用首先需要建立连接。如果指定的数据库文件不存在,`sqlite3.connect()`方法会自动创建。例如,连接到硬盘上的数据库文件可以这样写:
```python
conn = sqlite3.connect('c:\\test\\hongten.db')
```
连接对象(conn)提供了几个关键方法:
- `commit()`:用于提交事务,保存对数据库的修改。
- `rollback()`:如果发生错误,可以回滚事务,撤销未保存的更改。
- `close()`:关闭数据库连接,释放资源。
- `cursor()`:创建一个游标对象,用于执行SQL命令。
游标对象(如`cu = conn.cursor()`)是执行SQL语句的核心。它有以下方法:
- `execute(sql)`:执行单条SQL语句。
- `executemany(sql, params_list)`:批量执行多条相同的SQL语句,参数列表包含不同的数据。
- `close()`:关闭游标,释放内存。
- `fetchone()`:获取查询结果集中的一条记录。
- `fetchmany(size)`:获取size条记录,如果结果集小于size,则返回所有剩余记录。
- `fetchall()`:获取结果集中所有记录。
- `scroll(offset, mode='relative')`:移动游标的位置,mode可选为'relative'(相对位置)或'absolute'(绝对位置)。
下面是一个简单的示例,展示了如何使用Python操作SQLite3数据库:
```python
import sqlite3
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建游标
cur = conn.cursor()
# 创建表
cur.execute('''CREATE TABLE users
(id INTEGER PRIMARY KEY, name TEXT, email TEXT)''')
# 插入数据
cur.execute("INSERT INTO users VALUES (1, 'Alice', 'alice@example.com')")
cur.execute("INSERT INTO users VALUES (2, 'Bob', 'bob@example.com')")
# 提交事务
conn.commit()
# 查询数据
cur.execute("SELECT * FROM users")
print(cur.fetchall())
# 关闭游标和连接
cur.close()
conn.close()
```
在这个例子中,我们创建了一个名为`users`的表,插入了两条记录,并打印了所有用户的信息。最后,确保游标和连接都被正确关闭,以释放系统资源。
总结起来,Python的sqlite3模块提供了简单而强大的接口,允许开发者轻松地进行数据库操作。无论是初次接触数据库编程,还是在小型项目中快速存储和检索数据,SQLite3都是一个理想的选择。通过学习和实践这些基本操作,你可以高效地管理SQLite数据库并与之交互。
1116 浏览量
219 浏览量
2021-09-29 上传
103 浏览量
179 浏览量
157 浏览量
2024-10-30 上传
349 浏览量
117 浏览量

weixin_38682790
- 粉丝: 3
最新资源
- SpringMVC与jQuery实现图片异步上传技巧
- 自定义属性的IconTextView组件实现与应用
- Minix3操作系统源代码分析与探索
- Cocos2d-x游戏源码分享:入门级'愤怒的小鸟'与'一个都不能死'
- FasTrix开源工具:Shadowrun角色扮演游戏支持
- Linux内核组件深度解析全集
- 逆向工程工具:将jar反编译为Java源码
- 易语言开发的仿360桌面源码包
- LCPkg:Windows C/C++项目依赖管理的高效CLI工具
- 从相机和本地获取Bitmap图片资源及权限处理
- C#数据库学生信息管理系统源代码解析
- 掌握WinCE6.0下SQLCE数据库的增删改查操作
- 微信小程序组件化方案:合并子组件实践指南
- 开源机器人:Tibia游戏的自动化伴侣
- NTLEA软件:轻松解决游戏及软件乱码问题
- C#超市管理系统完整源码解析与设计