Python SQL 查询并打印结果
随着数据处理和分析技术的不断发展,SQL成为了数据查询和管理中的重要工具之一。而Python作为一种流行的编程语言,也提供了丰富的库和模块来执行SQL查询。在本文中,我们将介绍如何使用Python进行SQL查询,并打印结果。
关系图
在数据库中,数据通常以表的形式组织存储,不同表之间的关系可以用关系图来表示。下面是一个简单的关系图示例,展示了一个学生和课程的关系:
erDiagram
STUDENT {
int student_id
string name
}
COURSE {
int course_id
string course_name
}
ENROLLMENT {
int enrollment_id
int student_id
int course_id
}
在上面的关系图中,STUDENT
表存储了学生信息,COURSE
表存储了课程信息,ENROLLMENT
表则记录了学生选修的课程信息。
SQL查询
接下来,我们将使用Python进行SQL查询操作。首先,我们需要安装sqlite3
模块,该模块允许Python与SQLite数据库进行交互。假设我们有一个SQLite数据库university.db
,其中包含了上面提到的三个表。我们可以通过以下代码连接数据库并执行SQL查询:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('university.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM STUDENT")
result = cursor.fetchall()
# 打印查询结果
for row in result:
print(row)
# 关闭数据库连接
conn.close()
在上面的代码中,我们首先导入了sqlite3
模块,然后连接到名为university.db
的数据库。接着执行了一个简单的SELECT
查询,选取了STUDENT
表中的所有记录,并将结果打印出来。
打印结果
在执行SQL查询后,我们通常需要将结果打印出来或者进行进一步的处理。下面是一个更加复杂的例子,展示了如何查询学生选修的课程,并将结果以表格形式打印出来:
import sqlite3
# 连接到数据库
conn = sqlite3.connect('university.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT s.name, c.course_name FROM STUDENT s JOIN ENROLLMENT e ON s.student_id = e.student_id JOIN COURSE c ON e.course_id = c.course_id")
result = cursor.fetchall()
# 打印查询结果
print("Student\t\tCourse")
print("---------------------------")
for row in result:
print(f"{row[0]}\t\t{row[1]}")
# 关闭数据库连接
conn.close()
在上面的代码中,我们执行了一个JOIN
操作,连接了STUDENT
、ENROLLMENT
和COURSE
三个表,并选取了学生姓名和所选课程名称。最后,我们将查询结果打印成了一个表格的形式。
饼状图
除了打印结果到控制台,我们还可以使用图表来展示查询结果。下面是一个用饼状图展示学生选修课程的例子:
pie
title 学生选修课程比例
"Math" : 25
"Science" : 35
"History" : 20
"English" : 20
在上面的饼状图中,展示了不同学生选修的课程比例。可以看到,科学课程的选修人数最多,占比35%。
结尾
通过本文的介绍,我们了解了如何使用Python进行SQL查询,并打印结果。从简单的查询到复杂的连接操作,Python提供了丰富的库和模块来处理各种数据库操作。同时,我们还展示了如何使用图表来可视化查询结果,帮助我们更直观地理解数据。希望本文能够帮助读者更好地利用Python进行数据处理和分析工作。