Python DB API学习:以SQLite与PySqlite为例

2 下载量 141 浏览量 更新于2024-08-29 收藏 86KB PDF 举报
本文主要围绕Python的DB API 2.0展开学习,特别关注了SQLite和PySqlite这一对常用的数据库接口示例。Python DB API(Database API)是Python中用于访问各种数据库的标准接口,其版本2.0由PEP 0249定义,确保了跨数据库系统的代码兼容性。 PySqlite,即Python的SQLite接口,是由SQLite引擎为Python开发的DB API实现。自Python 2.5版本起,pysqlite被纳入Python的标准库,以sqlite3模块的形式提供给开发者。SQLite是一种轻量级、无服务器的嵌入式数据库,非常适合于小型应用和个人项目。 文章内容分为两个部分: 1. **创建数据库表**: - 使用`sqlite3`模块创建一个名为`test.db`的SQLite数据库,并通过`connect()`函数连接到该数据库。 - 创建一个游标对象`cur`,这是执行SQL命令的工具。 - 编写SQL语句`CREATE TABLE test (id INTEGER, name TEXT, age INTEGER)`,用于定义表格结构。 - 使用`execute()`方法执行SQL创建语句,创建名为`test`的表。 - 关闭游标并释放资源,最后关闭数据库连接。 2. **插入数据**: - 重复与上一步类似的过程,连接到数据库,创建游标。 - 编写插入数据的SQL语句,这里展示了两种不同的写法: - 使用字符串模板插入多行数据: ``` insert_sql = "insert into test values (1,'huhu',20); insert into test values (2,'hengheng',18); insert into test values (3,'huahua',18);" ``` - 或者使用列表或元组批量插入: ``` data = [(1, 'huhu', 20), (2, 'hengheng', 18), (3, 'huahua', 18)] insert_sql = "insert into test values (?, ?, ?)" # 使用占位符防止SQL注入 cur.executemany(insert_sql, data) ``` - 执行插入操作后,同样关闭游标和数据库连接。 通过这两个例子,读者可以了解到如何使用Python的DB API来操作SQLite数据库,包括连接、创建表、执行SQL以及基本的数据操作。此外,本文还强调了使用占位符(如`?`)代替硬编码值的重要性,以提高代码安全性和可维护性。掌握这些基础知识后,开发者可以进一步学习其他数据库接口(如MySQL, PostgreSQL等),并根据实际项目需求选择合适的数据库引擎。