需要在mysql查询中使用python变量通过操作系统()

2024-10-03 21:32:01 发布

您现在位置:Python中文网/ 问答频道 /正文

ID="VC002538"
mysql -u xxxxx --password=xxxxx -e "SELECT orderid FROM Pran_order_detail WHERE orderid='$ID'"

样品

上面的查询我将在Linux shell提示符下执行,它以下面的输出成功执行

+------+
| id   |
+------+
| 1140 |
+------+

但是什么时候用python和操作系统()方法 我没有得到任何输出

ID="VC002538"

os.system('mysql -u xxxxx --password=xxxxx -e "SELECT orderid FROM Pran_order_detail WHERE orderid='ID'" sample')

但是当我直接用ID值

os.system('mysql -u xxxxx --password=xxxxx -e "SELECT orderid FROM Pran_order_detail WHERE orderid='\VC002538\'" sample')

这是有效的

请告诉我如何在sql查询中使用os.system()中的变量


Tags: samplefromidosmysqlorderpasswordwhere
1条回答
网友
1楼 · 发布于 2024-10-03 21:32:01

在第一个示例中,Mysql看到的是以下查询:

SELECT orderid FROM Pran_order_detail WHERE orderid='ID'

您需要使用变量ID构造一个字符串,例如:

"SELECT orderid FROM Pran_order_detail WHERE orderid='%s'" % ID

或者

"SELECT orderid FROM Pran_order_detail WHERE orderid='" + ID + "'"

或者

"SELECT orderid FROM Pran_order_detail WHERE orderid='{}'".format(ID)

您可以通过google“python字符串格式”找到更多信息。你知道吗

相关问题 更多 >