SQLAlchemy Core - 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 表达式。我们将在后面的章节中学习它们。