【问题标题】:Need to use python variable in mysql query through os.system()需要通过os.system()在mysql查询中使用python变量
【发布时间】:2018-03-22 19:48:49
【问题描述】:
ID="VC002538"
mysql -u xxxxx --password=xxxxx -e "SELECT orderid FROM Pran_order_detail WHERE orderid='$ID'"

样本

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

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

但是什么时候在 python 中使用 os.system() 方法做同样的事情 我没有得到任何输出

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()中的变量

【问题讨论】:

    标签: python mysql os.system


    【解决方案1】:

    在你的第一个例子中,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)
    

    您可以通过谷歌搜索“python 字符串格式”找到更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      相关资源
      最近更新 更多