SQLAlchemy 核心 - SQL 表达式



在本章,我们将重点简要介绍一下 SQL 表达式及其功能。

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

ins = students.insert()

上述方法的结果是一个 can be verified by using str() function. 下面代码插入了学号、姓名、姓氏等细节。

'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 会生成一个 bind 参数,该参数可以在语句的编译形式中看到。

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

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

广告