如何用python在MYSQL中执行IF查询



我很难在python中执行MYSQL的IF查询。My Query在MYSQL Workbench中运行良好,但无法通过python执行。不过,建立连接没有问题。来到场景I在数据库"记分卡"中有一个名为"报告"的表,其中我有3列。列名为"Student_ID"、"Subject"one_answers"Mark"。为了获得状态为通过或失败的"Result"列,我在MYSQL中执行了下面的IF查询,在那里运行得很好。

USE scorecard;
SELECT Mark,
IF(Mark>=55,"PASS","FAIL")
AS Result
FROM Report;

但当在python中执行这段代码时,我在与数据库建立连接后编写了以下代码,但没有工作。

sql1="Select Mark ,IF(Mark>=55,"PASS","FAIL") AS Result FROM Report"
mycursor.execute(sql1)
mydb.commit()

请帮助我如何在python中编写MYSQL的大型查询以执行提前感谢

您的代码不起作用,因为您不能在双引号字符串中简单地放双引号

因此,您可以使单引号全部为

sql1="Select Mark ,IF(Mark>=55,'PASS','FAIL') AS Result FROM Report"
mycursor.execute(sql1)
records = mycursor.fetchall()
mydb.commit()

或者您逃离双引号

sql1="Select Mark ,IF(Mark>=55,"PASS","FAIL") AS Result FROM Report"
mycursor.execute(sql1)
records = mycursor.fetchall()
mydb.commit()

最后是带有三引号的选项

sql1="""Select Mark ,IF(Mark>=55,"PASS","FAIL") AS Result FROM Report"""
mycursor.execute(sql1)
records = mycursor.fetchall()
mydb.commit()

最新更新