How to execute queries ====================== To execute a single query use ``connection.execute(query, values)`` and to execute the same query with multiple values use ``connection.execute_many(query, many_values)``. Neither of these connection-methods return anything. To execute a query and retreive the result the various ``fetch_`` prefixed connection-methods can be used. Firstly ``fetch_all(query, values)`` to retreive all the rows returned by the query. ``fetch_first(query, values)`` to retreive only the first row. ``fetch_sole(query, values)`` to retreive the only returned row (or raise ``MultipleRowsError`` if there are more rows). Finally ``fetch_val(query, values)`` to retreive the first row as a singular value. If you want to retreive all the rows whilst limiting memory usage, ``iterate(query, values)`` can be used to iterate over the returned rows. Please note that ``iterate`` takes a lock and hence no other queries can be used inside the iteration.œ