Python 表名作为sql字符串中的变量

Python 表名作为sql字符串中的变量,python,sql,Python,Sql,有人能告诉我如何使表成为变量吗 tableX = "test" sql = "SELECT * FROM tableX WHERE datum = %s and name = %s" val = (datumX, nameX,) 我就是搞不好。我试过{},也试过s% 谢谢,您可以使用format函数或f-string(如果python 3.6=您可以使用format函数或f-string(如果Python2.x中的python 3.6=),请首先回答: sql = "SELECT * F

有人能告诉我如何使表成为变量吗

tableX = "test"

sql = "SELECT * FROM tableX WHERE datum = %s and name = %s"  
val = (datumX, nameX,)
我就是搞不好。我试过{},也试过s%


谢谢,您可以使用format函数或f-string(如果python 3.6=您可以使用format函数或f-string(如果Python2.x中的python 3.6=),请首先回答:

sql = "SELECT * FROM {} WHERE datum = %s and name = %s" .format(tableX)
在Python3中,可以将第二个与f字符串一起使用:

sql=f“从{tableX}中选择*,其中数据=%s,名称=%s”


但是,请注意SQL注入。您必须绝对确定tableX变量的来源(无用户输入)。通过字符串的直接格式,您可以绕过输入的所有转义。

在Python2.x works中,第一个答案是:

sql = "SELECT * FROM {} WHERE datum = %s and name = %s" .format(tableX)
在Python3中,可以将第二个与f字符串一起使用:

sql=f“从{tableX}中选择*,其中数据=%s,名称=%s”


但是,请注意SQL注入。您必须绝对确定tableX变量的来源(无用户输入)。通过字符串的直接格式,您可以绕过所有输入转义。

尝试以下操作:SQL=f“从{tableX}中选择*,其中数据=%s,名称=%s”请详细说明要连接的数据库以及要使用的连接器。如何将变量放入任何其他字符串中?请尝试以下操作:sql=f“从{tableX}中选择*,其中数据=%s,名称=%s”你能详细说明一下你打算连接什么数据库以及你将使用什么连接器吗?你会如何将变量放入任何其他字符串中?很好,为什么Python中的一切都这么复杂:)很好,为什么Python中的一切都这么复杂:)