Mysql
 sql >> Base de données >  >> RDS >> Mysql

Python prend-il en charge les instructions préparées MySQL ?

La plupart des langages fournissent un moyen de faire des déclarations paramétrées génériques, Python n'est pas différent. Lorsqu'une requête paramétrée est utilisée, les bases de données prenant en charge la préparation d'instructions le feront automatiquement.

En python, une requête paramétrée ressemble à ceci :

cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])

Le style spécifique de paramétrage peut être différent selon votre pilote, vous pouvez importer votre module db puis faire un print yourmodule.paramstyle .

De PEP-249 :

paramstyle

       String constant stating the type of parameter marker
       formatting expected by the interface. Possible values are
       [2]:

           'qmark'         Question mark style, 
                           e.g. '...WHERE name=?'
           'numeric'       Numeric, positional style, 
                           e.g. '...WHERE name=:1'
           'named'         Named style, 
                           e.g. '...WHERE name=:name'
           'format'        ANSI C printf format codes, 
                           e.g. '...WHERE name=%s'
           'pyformat'      Python extended format codes, 
                           e.g. '...WHERE name=%(name)s'