Chapter 5. Running Queries and Updates
SQLAlchemy provides a rich Pythonic interface for constructing SQL
updates and queries, known as the SQL Expression Language. This language is based around the concept of an SQL statement, which represents some
database-independent SQL syntax that may have one or more bind variables,
and that can be executed on an SQL Engine
or other
Connectable
. This chapter introduces the various
kinds of data manipulation supported by SQLAlchemy (SQL INSERT, UPDATE, and
DELETE) and performed on the query interface (SQL SELECT).
Inserts, Updates, and Deletes
Insert
, Update
, and
Delete
constructs are created in SQLAlchemy via the
Table
methods insert
, update
, and delete
, or via the insert
, update
, and delete
functions. The functionality of these
data manipulation language (DML) constructs is equivalent, regardless of whether they are
constructed via methods or functions; the distinction is a question of
style more than substance.
Although each DML construct has its own particulars regarding
construction, they all end up generating a
Statement
. We can inspect the SQL text
corresponding to the statement by printing it out:
>>> metadata=MetaData() >>> >>> simple_table = Table( ... 'simple', metadata, ... Column('id', Integer, primary_key=True), ... Column('col1', Unicode(20))) >>> >>> stmt = simple_table.insert() >>> print stmt INSERT INTO simple (id, col1) VALUES (:id, :col1)
Note in the previous example that SQLAlchemy has created bind parameters for each of the ...
Get Essential SQLAlchemy now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.