在之前的一篇关于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')
我们还可以实现一个函数,通用地允许从一个参数化的表名中执行选择语句,使用参数过滤器。
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply