ホームページ  >  に質問  >  本文

変数を使用して Python で SQL ステートメントを実行する

次の Python コードがあります:

リーリー

ここで、var1 は整数、var2var3 は文字列です。

Python を使用せずに変数名を (クエリ テキストの一部として) 記述するにはどうすればよいですか?

P粉731977554P粉731977554373日前666

全員に返信(2)返信します

  • P粉718165540

    P粉7181655402023-10-13 14:17:00

    Python DB-API の実装が異なると、使用できるプレースホルダーも異なるため、どのプレースホルダーを使用しているかを確認する必要があります (おそらく (MySQLdb を使用するなど)):

    リーリー

    または (たとえば、Python 標準ライブラリの sqlite3 を使用する):

    リーリー

    またはその他 (VALUES の後には (:1, :2, :3) または「名前付きスタイル」 (:fee, : fie, :fo を指定できます) ) または (%(fee)s, %(fie)s, %(fo)s) ここでは、マップの代わりに辞書を implement## の 2 番目の引数として渡します。 #)。使用している DB API モジュールの paramstyle 文字列定数を確認し、http://www.python.org/dev/peps/pep-0249/ ですべてのパラメータを確認してください。配信スタイル!

    返事
    0
  • P粉521697419

    P粉5216974192023-10-13 00:59:08

    リーリー

    パラメータはタプル (a, b, c) で渡されることに注意してください。単一の引数を渡す場合、タプルはコンマ (a,) で終わる必要があります。

    データベース API は変数を適切にエスケープし、引用符で囲みます。文字列フォーマット演算子 (%) は使用しないように注意してください。

      エスケープや引用は行いません。
    1. は、
    2. SQL_injection などの制御されていない文字列フォーマット攻撃に対して脆弱です。
    3. 返事
      0
  • キャンセル返事