Mysql
 sql >> Database >  >> RDS >> Mysql

Python supporta le istruzioni preparate da MySQL?

La maggior parte dei linguaggi fornisce un modo per eseguire istruzioni parametrizzate generiche, Python non è diverso. Quando viene utilizzata una query con parametri, i database che supportano la preparazione di istruzioni lo faranno automaticamente.

In Python una query parametrizzata è simile a questa:

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

Lo stile specifico di parametrizzazione può essere diverso a seconda del tuo driver, puoi importare il tuo modulo db e quindi fare un print yourmodule.paramstyle .

Da 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'