Python操作SQLite、MySQL与LMDB数据库指南

2 下载量 73 浏览量 更新于2024-08-29 收藏 86KB PDF 举报
本文主要介绍了如何使用Python操作SQLite、MySQL和LMDB这三种数据库的方法,适合需要进行数据库操作的Python开发者阅读。 在Python中,SQLite是一种常用的轻量级嵌入式数据库,它允许你在单个文件中存储数据。Python 2.5及以上版本已内置了SQLite3模块,可以通过`import sqlite3`直接使用。操作SQLite数据库的基本步骤包括: 1. 使用`sqlite3.open()`创建数据库连接对象`connection`。 2. 通过`connection.cursor()`创建游标对象`cursor`,用于执行SQL命令。 3. 使用`cursor.execute()`执行SQL语句,如创建表、插入数据、更新或删除记录。 4. 数据修改后,调用`connection.commit()`提交事务。 5. 查询数据时,利用`cursor.fetchall()`获取所有查询结果。 6. 最后,通过`connection.close()`关闭数据库连接。 下面是一个简单的SQLite数据库操作示例,展示如何创建一个名为`test.db`的数据库,并建立一个名为`students`的表: ```python import sqlite3 # 创建连接 conn = sqlite3.connect("test.db") # 创建游标 cur = conn.cursor() # 执行SQL语句(创建数据表) cur.execute("CREATE TABLE IF NOT EXISTS students (sid INTEGER PRIMARY KEY, name TEXT)") # 提交 conn.commit() # 关闭连接 conn.close() ``` MySQL是另一种广泛使用的开源关系型数据库管理系统。Python连接MySQL通常使用`pymysql`或`mysql-connector-python`库。连接MySQL的步骤大致类似: 1. 导入库,如`import pymysql`。 2. 创建连接,`conn = pymysql.connect(host='主机地址', user='用户名', password='密码', db='数据库名')`。 3. 创建游标,`cur = conn.cursor()`。 4. 使用`cursor.execute()`执行SQL语句。 5. 提交或回滚事务,`conn.commit()`或`conn.rollback()`。 6. 获取查询结果,`cur.fetchall()`。 7. 关闭连接,`conn.close()`。 而LMDB(Lightning Memory-Mapped Database)是一种高性能、低延迟的键值对存储系统,适用于大量数据的快速读写操作。Python操作LMDB可使用`lmdb`库。基本操作流程: 1. 导入`lmdb`库,`import lmdb`。 2. 打开数据库,`env = lmdb.open('db_path', map_size=1000000000)`,其中`map_size`指定内存映射大小。 3. 通过`with env.begin(write=True)`创建事务对象,`txn`。 4. 使用`txn.put(key, value)`存储键值对,`txn.get(key)`读取键对应的值。 5. 在`with`块外,事务会自动提交或回滚。 每个数据库都有其特点和适用场景。SQLite适合小型应用或本地存储,MySQL适用于需要网络连接的多用户应用,而LMDB则适用于对速度和内存效率有高要求的场景。根据实际需求选择合适的数据库并掌握相应的Python操作方法,是开发中的重要技能。