Heim > Backend-Entwicklung > Python-Tutorial > Welche Methoden gibt es für Python pymysql, um Parameter an SQL-Anweisungen zu übergeben?

Welche Methoden gibt es für Python pymysql, um Parameter an SQL-Anweisungen zu übergeben?

PHPz
Freigeben: 2023-06-13 12:07:40
nach vorne
1328 Leute haben es durchsucht
Verzeichnis
  • Wie übergibt Python-pymysql Parameter an SQL-Anweisungen? Typ zum Übergeben von Parametern

    • So übergeben Sie Parameter an eine SQL-Anweisung mit Python-pymysql

    • Methode eins: Übergeben Sie keine Parameter
    • ## 方式一、不传递参数
       id = "01"
       name = "语文"
       sql = "select * from course where course_id = '%s'  and course_name = '%s' ;" %(id,name)
       ## 执行数据库查询或命令
       cursor.execute(sql)
      Nach dem Login kopieren

      Methode zwei: Verwenden Sie ein Array, um Parameter zu übergeben

      ## 方式二、使用数组传递参数
        values = ['01','语文']
        sql = "select * from course where course_id = %s and course_name = %s "
        ## 执行数据库查询或命令
        cursor.execute(sql,values)
      Nach dem Login kopieren
    • Hinweis: Der Platzhalter hier ist % s, unabhängig davon, ob es sich um eine Zeichenfolge, eine Zahl oder einen anderen Typ handelt, handelt es sich um diesen Platzhalter.
    • %s können nicht zitiert werden. Was ist der Unterschied zwischen

    • und der ersten Schreibweise?
Der Unterschied zwischen den beiden ist das Parsen von Variablen:

Die erste Möglichkeit, mit dem Prozentzeichen % zu schreiben, besteht darin, dass der Python-Interpreter %s entsprechend ersetzt. Bei diesem Ansatz gibt es ein Problem und er kann in manchen Fällen nicht korrekt geparst werden, etwa wenn Sonderzeichen enthalten sind, was zu Schwachstellen bei Injektionsangriffen führen kann.

Zweitens wird die Variable als Parameter der Ausführung übergeben und die integrierte Methode von MySQLdb interpretiert die Variable in geeigneten Inhalt.

Im Allgemeinen wird empfohlen, die zweite Methode zu verwenden und Variablen als Parameter zur Ausführung zu übergeben.

Methode 3: Verwenden Sie den Wörterbuch-Dikttyp, um Parameter zu übergeben

## 方式三、使用字典dict类型传递参数
  sql = "select * from course where course_id = %(course_id)s and course_name =  %(course_name)s ;"
  ## 将参数封装到字典
  #values = {'course_id':'01','course_name':'语文'}
  values = {'course_name':'语文','course_id':'01'}
  ## 执行数据库查询或命令
  cursor.execute(sql,values)
Nach dem Login kopieren
Auf diese Weise ist die Entsprechung zwischen den übergebenen Parametern relativ klar. Insbesondere bei vielen Parametern kann durch die Verwendung eines Wörterbuchs sichergestellt werden, dass die Parameter in der richtigen Reihenfolge übergeben werden.

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es für Python pymysql, um Parameter an SQL-Anweisungen zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
sql
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