# Prepared Statements and Connector/Python
+ Using `prepared statment` in `Connector/Python`:
  + Create `cursor`, and pass in parameter `prepared=True`
  + Return a `MySQLCursorPrepared` object
+ Using argument tags to build SQL statement string
+ Execute the statement, assigning a value to each parameter
  + The first call to `execute()` prepares the statement
  + Subsequent calls to `execute()` skip the preparation phase
```10
connection = mysql.connector.connect(...)
cursor = connection.cursor(~!@prepared=True@!~)
sql_statement = "INSERT INTO test.t1 (col1, col2, col3) VALUES (%s, %s, %s)"
cursor.execute(sql_statement, (val1, val2, val3,));
```
-------------------------------------------------------

If you create `cursor` with parameter `prepared=False` (the default value), you are using the client side prepared statement only, cannot benefit from what we mentioned along side the previous slides.

