Heim > Datenbank > MySQL-Tutorial > Hauptteil

So beheben Sie den Fehler beim Ausführen einer MySQL-Anweisung in Python

王林
Freigeben: 2023-05-29 13:34:06
nach vorne
2080 Leute haben es durchsucht

一 Python meldet einen Fehler beim Ausführen der MySQL-Anweisung

Wie wir alle wissen, verfügt Python über einen Übersetzungsmechanismus, der %s und %d in Zeichenfolgen übersetzt oder Zahlen und SQL-Fuzzy-Abfragen müssen auch % verwenden. Bei der Durchführung von Fuzzy-Abfragen wäre es sehr peinlich, wenn die Abfragebedingung immer noch eine Variable wäre.

Die Lösung ist eigentlich sehr einfach: Extrahieren Sie einfach die Zeichenfolgen, die einer Fuzzy-Abfrage unterzogen werden müssen, aus der SQL und fügen Sie sie zusammen.

<code>shopId = "zbw_010002"</code><code><br></code><code>'''select * from base_saleflows where shopId='{0}' and card_id is not NULL and standard_cls4 like "%湿巾%" '''.format(shopId)</code>
Nach dem Login kopieren

Es wurde festgestellt, dass es falsch war. MySQL kann eine solche Anweisung nicht ausführen.


<code>args='%湿巾%'</code><code>shopId = "zbw_010002"</code><code>mysql_sentence='''select a.shopId, a.sale_money,a.card_id ,a.standard_cls4 from base_saleflows a join  base_vips b on a.card_id = b.card_id where a.shopId='{0}' and a.card_id is not NULL and a.standard_cls4 like '{1}' '''.format(shopId,args)</code><code>print(mysql_sentence)</code><code><br></code>
Nach dem Login kopieren

So beheben Sie den Fehler beim Ausführen einer MySQL-Anweisung in PythonDas Ergebnis ist

select * from base_saleflows a join  base_vips b on a.card_id = b.card_id where a.shopId='zbw_010002' and a.card_id is not NULL and a.standard_cls4 like '%湿巾%'
Nach dem Login kopieren

2 String-Gruppierung und Spleißen

Gruppieren und spleißen Sie Strings für die cls3-Spalte gemäß der Seriennummer flow_no, das Spleißsymbol ist '- '#🎜 🎜#

#  分组拼接result = vipsaleflow_common.pivot_table(values='standard_cls3',index='flow_no',aggfunc=lambda x:x.str.cat(sep='-'))
Nach dem Login kopieren

Anwendung: Gemäß

(

Jahr, Quartal, Filialnummer, Feuchttüchertyp) So beheben Sie den Fehler beim Ausführen einer MySQL-Anweisung in Python

Gruppe, um die Anzahl neuer Kunden für jedes

Quartal zu ermitteln vier Abgeleitet basierend auf dem Zeitstempeljahr und Monat Quartal #🎜🎜 #

saleflow['oper_date']=saleflow['oper_date'].astype(str)  #字符串saleflow['oper_date'] = saleflow.oper_date.apply(lambda x:datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))saleflow["month"] = saleflow.oper_date.map(lambda x: x.month)saleflow["year"] = saleflow.oper_date.map(lambda x: x.year)#https://www.it1352.com/584941.htmllookup = {1: 1, 2: 1,3: 1,4: 2, 5: 2, 6: 2, 7: 3,8: 3,9: 3,10: 4, 11: 4,12: 4}saleflow['Season'] = saleflow['oper_date'].apply(lambda x: lookup[x.month]) saleflow['YearMonth'] = saleflow['oper_date'].map(lambda x: 100*x.year + x.month)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Fehler beim Ausführen einer MySQL-Anweisung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage