在Python中实现对SQLite 3数据库的选择语句

在之前的一篇关于SQLite 3和Python的文章中,我在SQLite 3数据库中添加了两个相关的表,使用Pyhton。这两张表分别叫做universitiesTBxx和studentsTBxx。这两张表都存储在一个名为 “newDatabase.db “的数据库中。学生是在一所大学里入伍的。与各大学相关的信息由大学TBxx表收录。

在这篇文章中,我将实现一个基本的SQL查询,用于从SQLite 3数据库中检索数据。首先,让我们重复实现一个创建数据库连接的相关函数。

# 导入 sqlite3 模块
import sqlite3

# 这个函数为数据库文件建立数据库连接
# 参数:数据库文件名
# 返回值:连接到数据库
def create_connection(db_file):
    conn = None
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except Error as e:
        print(e)
    return conn

既然我们知道了数据库的名称,我们现在就可以用上面的函数连接到它。

#获取与数据库连接的参考处理程序
dbConnection = create_connection("newDatabase.db")

我们现在有了一个到相关数据库的连接引用。让我们使用Python和sqlite3模块,对大学表实现一个SELECT *命令。

cursorObj = dbConnection.cursor()
cursorObj.execute("SELECT * FROM universitiesTBxx")
rowList = cursorObj.fetchall()
for row in rowList:
    print(row)
('MIT', 'USA')
('ETH', 'CH')
('DTU', 'DK')

例如,我们也可以尝试SELECT * FROM tableName WHERE条件语句。例如,我只希望返回在苏黎世联邦理工学院学习的学生。

cursorObj.execute("SELECT * FROM studentsTBxx WHERE university = 'ETH'")
rowList = cursorObj.fetchall()
for row in rowList:
    print(row)
(1, 'Linnart', 'ETH', 'MSc')

我们还可以实现一个函数,通用地允许从一个参数化的表名中执行选择语句,使用参数过滤器。

Leave a Reply

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Close

其他操作