【问题标题】:Search element from SQL using Python使用 Python 从 SQL 中搜索元素
【发布时间】:2023-04-01 20:42:01
【问题描述】:

如果元素 ID 预先存在,我正在编写一个 python 脚本来执行一些特定的任务。我创建了一个用于保存数据元素的数据库。

我想知道元素 link_ID 是否存在于数据库中。我将如何做到这一点?

我写了一个不完美的小脚本。我得到的输出是不存在这样的元素

link_ID = link_1234
sql = ''' SELECT link_ID from link_table where link_ID=? '''
var  = (link_ID)
conn.execute(sql, [var])
conn.commit()
if conn.execute(sql, [var]) == True:
    print("Search Successful")
    flag = 1
else:
    print("No such element exists")
    flag = 0

【问题讨论】:

标签: python sql database


【解决方案1】:

这里有很多问题。首先,您应该从您的连接中创建一个游标对象并使用它来执行您的查询:

c = conn.cursor()
c.execute(sql,var)

其次,execute 想要插入一个值的元组,而不是一个列表,所以这样做:

var = (link_ID,)
c.execute(sql,var)

或者:

c.execute(sql,(link_ID,))

最后,c.execute 返回游标对象而不是查询成功。您应该使用 fetchone() 获取查询的结果,如果您的查询没有返回一行,那么 fetchone() 的返回值为 None:

result = c.fetchone()
if result is not None:
    print('Success:',result)
else:
    print('No row found for', link_ID)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 2017-09-12
    • 2013-03-26
    相关资源
    最近更新 更多