pythonmysql:如何在python脚本中创建select(where子句)查询?

yk9xbfzb  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(301)

这是一个mysql查询,我想在python脚本中使用它:

cmd = "mysql -Nr -uuser -ppwd   -hlocalhost -P3307 mybase -e 'select value from table where Id='5' and product='product'" | tr -d ' ' | tr -d ',' | sed 's/>https:/>\r\nhttps:/g' | sed 's/=</=\n</g' | grep "https:" | sed 's;www.mysite.org/page/;;g'  > /tmp/myfile.tmp"

更新后的外观如下:

cmd = "mysql -Nr -uuser -ppwd  -hlocalhost -P3307 mybase -e \' select value from table where Id="5" and product="product" \' | tr -d \' \' | tr -d \',\' | sed \'s/>https:/>\r\nhttps:/g\' | sed \'s/=</=\n</g\' | grep "https:" | sed \'s;www.mysite.org/page/;;g \'  > /tmp/myfile.tmp"

执行后的结果:
语法错误:无效语法
[root@admin tmp]$vi选择\u python.py
[root@admin tmp]$python选择\u python.py
python脚本中的mysql查询语法有什么问题?

f0brbegy

f0brbegy1#

您可以使用python中的os包调用mysql查询并处理Linux管道格式化一个简单的方法如下所示:

import os
os.system("mysql -Nr -uuser -ppwd   -hlocalhost -P3307 mybase -e 'select value from table where Id='5' and product='product'\"  | tr -d ' ' | sed 's/>https:/>\r\nhttps:/g' | sed 's/=</=\n</g' | grep \"https:\" | sed 's;www.mysite.org/page/;;g'  > /tmp/myfile.tmp")

一定要避开任何双引号

相关问题