gpt4 book ai didi

python - 在python中从sql中提取数据(每秒一次)

转载 作者:行者123 更新时间:2023-12-04 10:32:31 38 4
gpt4 key购买 nike

我如何从python中的sql中提取数据?
我有这段代码,但它重复了所有不是我想要的值。
我希望在我的 python 中有新的更新的 sql 数据。我几乎被打击了几天......任何善良的灵魂请
我正在使用 sqlserver2012,python

import time
sql_conn = connectSQLServer('ODBC Driver 13 for SQL Server', 'DESKTOP-K6A10IO\SQLEXPRESS', 'display')

mycursor = sql_conn.cursor()

a = 0
while True:
try:
time.sleep(1)
a=a+1
print(a)
sql = "SELECT * FROM dbo.LiveStatsFromSQLServer"
mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)


except Exception as error:
print("Nothing in database\n")
print(error)
sql_conn.commit()
The result shown is 
1
(1625, 3)
(1626, 0)
(1627, 10)
2
(1625, 3)
(1626, 0)
(1627, 10)
3
(1625, 3)
(1626, 0)
(1627, 10)
(1622, 20)
while i wish to have a constantly updating to the end of the list like:
(1625, 3)
(1626, 0)
(1627, 10)
after 1 second
(1622, 20)
after 1 second
(1612, 10)

最佳答案

如果我理解正确,你只想看新品 记录(自上次查询后添加的记录)。您需要在应用程序中添加一些逻辑。

您的表可能已经有一个自动递增的 ID(或者某种时间戳可以做到)。每次查询后,你需要记住你得到的最大值,随后的查询应该包含一个WHERE子句(即 WHERE ID > nnnnn ),以便您只能获得 ID 为 的记录更大 比您之前查询的最大值。

或者,您可以使用日期时间值,但这可能不太准确(除非您不介意一些重叠)。

此查询仅返回所有内容。

PS:我不知道你为什么在你的异常处理块中有一个提交。您在这里没有进行任何交易,也没有向数据库写入任何数据。变量 a未使用。

关于python - 在python中从sql中提取数据(每秒一次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60355513/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com