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

王林
リリース: 2023-05-29 13:34:06
転載
2076 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート