如何在SELECT SQL语句中使用指定的变量?

时间:2017-03-13 16:18:23

标签: python sql variables select sqlite

我正在创建一个程序,允许用户从菜单中选择2个化学元素,然后告诉他们这两者之间的反应结果。我知道我的数据库正在运行,我正在尝试创建两个可以在程序中的任何位置更改的变量。这是我到目前为止的代码,使用2个值,我知道正确的结果:

import sqlite3
conn = sqlite3.connect('Experiment_simulator_database.db')
c = conn.cursor()

firstchoice = 1
secondchoice = 36

sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = firstchoice AND Choice_2 = secondchoice"
c.execute(sqlcommand)
result = c.fetchone()
print(result)

如何在select语句中获取firstchoice和secondchoice以获取上面指定的值?

2 个答案:

答案 0 :(得分:0)

您可以在sql中使用占位符,并在调用execute

时绑定值
 sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = ? AND Choice_2 = ?"
 c.execute(sqlcommand, (firstchoice, secondchoice,))

答案 1 :(得分:0)

您可以在您正在使用的参数中传递这些变量。

firstchoice = 1
secondchoice = 36
sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = " + firstchoice + "AND Choice_2 = " + secondchoice "
c.execute(sqlcommand, firstchoice, secondchoice)