使用 SQLite3 进行 Python 数据库编程
在 Python 中,我们可以使用内置的 sqlite3 模块来操作 SQLite 数据库,SQLite 是一个轻量级的数据库,它存储在一个单一的磁盘文件上,不需要一个特定的服务器进程,这使得 SQLite 非常适合于小型应用程序和脚本,可以在 Python 中直接访问和操作。
下面是一个简单的示例,展示了如何使用 Python 的 sqlite3 模块来创建一个数据库,定义表,插入数据,以及查询数据。
1. 我们需要导入 sqlite3 模块:
import sqlite3
2. 连接到 SQLite 数据库,如果数据库不存在,它将被创建:
conn = sqlite3.connect('example.db')
3. 创建一个游标对象,这个对象允许我们执行 SQL 命令:
cursor = conn.cursor()
4. 使用游标对象执行 SQL 命令来创建表,我们可以创建一个名为 "students" 的表,其中包含 "id", "name", 和 "age" 字段:
cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
5. 接下来,我们可以通过插入命令向表中添加数据:
cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)") cursor.execute("INSERT INTO students (name, age) VALUES ('Bob', 22)") cursor.execute("INSERT INTO students (name, age) VALUES ('Charlie', 18)")
6. 然后,我们可以通过查询命令来检索数据:
cursor.execute("SELECT * FROM students") for row in cursor: print(row)
7. 记得关闭连接:
conn.close()
整个代码示例如下:
import sqlite3 # 连接到数据库(如果文件不存在则会被创建) conn = sqlite3.connect('example.db') # 创建一个游标对象(cursor)用于执行 SQL 命令 cursor = conn.cursor() # 创建一个名为 "students" 的表,包含 id, name, age 字段 cursor.execute('''CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''') # 向 "students" 表中插入数据 cursor.execute("INSERT INTO students (name, age) VALUES ('Alice', 20)") cursor.execute("INSERT INTO students (name, age) VALUES ('Bob', 22)") cursor.execute("INSERT INTO students (name, age) VALUES ('Charlie', 18)") # 从 "students" 表中查询数据并打印结果 cursor.execute("SELECT * FROM students") for row in cursor: print(row) # 关闭数据库连接 conn.close()
这只是一个基本的示例,你可以根据你的需求进一步扩展和优化代码,你可以添加错误处理来捕获和处理可能发生的错误,或者使用参数化查询来避免 SQL 注入攻击,SQLite3 和 Python 的组合是一个非常强大和灵活的工具,可以用于各种应用程序和项目。