ホームページ  >  記事  >  データベース  >  Pythonでmysqlステートメントを実行するときのエラーを解決する方法

Pythonでmysqlステートメントを実行するときのエラーを解決する方法

王林
王林転載
2023-05-29 13:34:062067ブラウズ

1 Python は、mysql ステートメントの実行時にエラーを報告します

ご存知のとおり、Python には変換メカニズムがあります。%s と %d は文字列または数値に変換され、あいまいになります。 SQL のクエリも使用する必要がありますが、% ですべてのあいまいクエリを実行するときに、クエリ条件が変数だった場合は非常に厄介です。

解決策は実際には非常に簡単です。SQL からファジー クエリを実行する必要がある文字列を取り出し、それらをつなぎ合わせるだけです。

間違った方法です。

<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>

それは間違っていたことがわかり、mysql はそのようなステートメントを実行できません。

Pythonでmysqlステートメントを実行するときのエラーを解決する方法

えー

結果は

<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>

2 文字列のグループ化とスプライシング

シリアル番号 flow_no とスプライス文字列に従って cls3 列をグループ化します。スプライシング記号は '-'

です。

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 '%湿巾%'

Pythonでmysqlステートメントを実行するときのエラーを解決する方法

##アプリケーション:

に従って各 四半期# をグループ化します ( 年、四半期、支店番号、ウェット ティッシュ タイプ) ##新規顧客の数

四 タイムスタンプの年、月、四半期に基づいて導出されます

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

以上がPythonでmysqlステートメントを実行するときのエラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。