SQLAlchemy 核心 - SQL 表达式


在本章中,我们将简要关注 SQL 表达式及其功能。

SQL表达式是使用相对于目标表对象的相应方法构造的。例如,INSERT 语句是通过执行 insert() 方法创建的,如下所示 -

ins = students.insert()

上述方法的结果是一个插入对象,可以使用str()函数验证。下面的代码插入学生 ID、姓名、姓氏等详细信息。

'INSERT INTO students (id, name, lastname) VALUES (:id, :name, :lastname)'

可以通过values()方法在特定字段中插入值来插入对象。下面给出了相同的代码 -

>>> ins = users.insert().values(name = 'Karan')
>>> str(ins)
'INSERT INTO users (name) VALUES (:name)'

Python 控制台上回显的 SQL 不显示实际值(在本例中为“Karan”)。相反,SQLALchemy 生成一个绑定参数,该参数在语句的编译形式中可见。

ins.compile().params
{'name': 'Karan'}

类似地,update()、delete()select() 等方法分别创建 UPDATE、DELETE 和 SELECT 表达式。我们将在后面的章节中了解它们。