繁体   English   中英

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

[英]Table name as variable in sql string

有人可以告诉我如何使表成为变量吗?

tableX = "test"

sql = "SELECT * FROM tableX WHERE datum = %s and name = %s"  
val = (datumX, nameX,)

我就是做对了。 我试过 {} 和 s%。

谢谢

您可以使用格式函数或 f-string(如果 python 3.6=<)

tableX = "test"
sql = "SELECT * FROM {} WHERE datum = %s and name = %s".format(tableX)

在 Python2.x 中首先回答:

sql = "SELECT * FROM {} WHERE datum = %s and name = %s" .format(tableX)

在 Python3 中,您可以使用带有 f-string 的第二个:

sql = f"SELECT * FROM {tableX} WHERE datum = %s and name = %s"

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM