Does Python support MySQL prepared statements?
Question: I worked on a PHP project earlier where prepared statements made the SELECT
queries 20% faster.

I'm wondering if it works on Python? I can't seem to find anything that
specifically says it does or does NOT.


Answer: Most languages provide a way to do generic parameterized statements, Python is
no different. When a parameterized query is used databases that support
preparing statements will automatically do so.

In python a parameterized query looks like this:

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

The specific style of parameterization may be different depending on your
driver, you can import your db module and then do a `print
yourmodule.paramstyle`.

From [PEP-249](http://www.python.org/dev/peps/pep-0249/):

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

