sql >> Base de Datos >  >> RDS >> Mysql

¿Python admite declaraciones preparadas de MySQL?

La mayoría de los lenguajes proporcionan una forma de hacer declaraciones parametrizadas genéricas, Python no es diferente. Cuando se utiliza una consulta parametrizada, las bases de datos que admiten la preparación de sentencias lo harán automáticamente.

En Python, una consulta parametrizada se ve así:

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

El estilo específico de parametrización puede ser diferente dependiendo de su controlador, puede importar su módulo db y luego hacer print yourmodule.paramstyle .

De PEP-249 :

paramestilo

       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'