如何在Python中使用MySQL删除记录?

时间:2017-03-04 10:54:24

标签: python mysql database

我有一个名为Students的数据库表,我想使用SQL删除记录。这是我的代码:

uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = (uid) ")

我想将ID变量(uid)输入c.execute

提前致谢。

3 个答案:

答案 0 :(得分:3)

您不得使用其他答案中建议的字符串插值;虽然在这种特殊情况下它可能没问题,但通常它是不安全的,因为它会打开你的SQL注入。相反,请使用execute方法中的参数支持:

uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = %s", (uid,))

答案 1 :(得分:1)

丹尼尔罗斯曼所说的应该是正确的答案。

您可以插入ID作为.execute方法的参数。有关此here

的答案

答案 2 :(得分:0)

基本上语法是:

"some string: %s, some int: %i, some double: %d" % (string_var,int_var,double_var)

这样:

uid = int(input("Please enter students ID: "))
c.execute("DELETE FROM Students WHERE ID = %i" % (uid))