Python中如何执行SQL查询并获取结果
发布时间:2023-12-25 17:20:10
在Python中,我们可以使用sqlite3模块来执行SQL查询并获取结果。此模块使得在Python中与SQLite数据库进行交互非常简单。
首先,我们需要导入sqlite3模块,并连接到数据库:
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
接着,我们可以创建一个游标对象,它可用于执行SQL语句:
# 创建游标对象 cursor = conn.cursor()
假设我们有一个名为students的数据表,并且这个表具有以下结构:
id name age grade ------------------------- 1 John 18 A 2 Alice 17 B 3 Mike 19 A
接下来,我们可以执行SQL查询,例如检索所有学生的姓名和年龄:
# 执行查询
cursor.execute("SELECT name, age FROM students")
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
print("Name:", row[0])
print("Age:", row[1])
将会输出:
Name: John Age: 18 Name: Alice Age: 17 Name: Mike Age: 19
我们还可以使用参数绑定来执行带有占位符的查询,这样可以更安全和通用:
# 执行带有参数绑定的查询
grade = "A"
cursor.execute("SELECT name, age FROM students WHERE grade=?", (grade,))
# 获取查询结果
results = cursor.fetchall()
# 打印结果
for row in results:
print("Name:", row[0])
print("Age:", row[1])
这将仅输出成绩为"A"的学生的姓名和年龄。
在完成查询后,不要忘记关闭游标和数据库连接,以释放资源:
# 关闭游标 cursor.close() # 关闭连接 conn.close()
以上就是在Python中执行SQL查询和获取结果的基本流程。您可以根据自己的需要构建任何类型的查询,并使用适当的方法来获取结果。请记住使用参数绑定来避免SQL注入攻击,这是一种安全性最高的做法。
