首页 > 解决方案 > 从 Python 将数据从 MySQL 数据库打印到控制台

问题描述

我正在使用带有 Python 控制台环境的 Visual Studio 2017。我有一个 MySQL 数据库设置,我可以成功连接。我还可以将数据插入数据库。现在我正在尝试从中显示/获取数据。

我连接良好,似乎我正在从我的数据库中获取数据,但实际上没有任何内容打印到控制台。我希望能够获取和显示数据,但根本没有显示任何内容。

我如何实际显示我选择的数据?

#importing module Like Namespace in .Net
import pypyodbc
#creating connection Object which will contain SQL Server Connection
connection = pypyodbc.connect('Driver={SQL Server};Server=DESKTOP-NJR6F8V\SQLEXPRESS;Data Source=DESKTOP-NJR6F8V\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False')
cursor = connection.cursor()
SQLCommand = ("SELECT ID FROM MyAI_DB.dbo.WordDefinitions WHERE ID > 117000")
#Processing Query
cursor.execute(SQLCommand)
#Commiting any pending transaction to the database.
connection.commit()
#closing connection
#connection.close()

标签: pythonmysql

解决方案


我想到了。我没有包含正确的 Print 语句。这是:

print(cursor.fetchone())

我还在错误的位置放置了 connection.commit 语句(它甚至在执行 Print 语句时也被插入)。最终起作用的代码是这样的:

#importing module Like Namespace in .Net
import pypyodbc
#creating connection Object which will contain SQL Server Connection
connection = pypyodbc.connect('Driver={SQL Server};Server=DESKTOP-NJR6F8V\SQLEXPRESS;Data Source=DESKTOP-NJR6F8V\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False')
cursor = connection.cursor()
SQLCommand = ("SELECT * FROM MyAI_DB.dbo.WordDefinitions")
#Processing Query
cursor.execute(SQLCommand)
#Commiting any pending transaction to the database.
print(cursor.fetchone())
connection.commit()
#closing connection
#connection.close()

推荐阅读