Sqlalchemy文档在其示例中使用[...]
语法。这个符号是什么意思?在这种情况下,()
是否也有一些特殊的含义?示例:
SELECT users.id AS users_id,
users.name AS users_name,
users.fullname AS users_fullname,
users.nickname AS users_nickname
FROM users ORDER BY users.id
[...] ()
[...]
在这种情况下表示";为清楚起见省略细节";。例如,这里的教程示例实际上会产生类似的输出
2022-08-15 12:00:20,656 INFO sqlalchemy.engine.Engine BEGIN (implicit)
2022-08-15 12:00:20,658 INFO sqlalchemy.engine.Engine select 'hello world'
2022-08-15 12:00:20,658 INFO sqlalchemy.engine.Engine [generated in 0.00061s] ()
[('hello world',)]
2022-08-15 12:00:20,659 INFO sqlalchemy.engine.Engine ROLLBACK
但是[generated in 0.00061s]
把事情搞得一团糟,所以本教程省略了它
BEGIN (implicit)
select 'hello world'
[...] ()
[('hello world',)]
ROLLBACK
至于()
,它们显示没有传递任何参数。如果查询已参数化,例如
result = conn.execute(sa.text("select :hello"), dict(hello='Howdy!'))
那么教程就会显示
select ?
[...] ('Howdy!',)