跳转至

脚本开发 / SQL 格式化 DFF.SQL

使用DFF.SQL(...)可以方便地生成动态 SQL 语句,避免手工拼接 SQL 导致 SQL 注入问题。

参数 类型 必须/默认值 说明
sql str 必须 SQL 语句,可包含参数占位符。
?表示需要转义的参数;
??表示不需要转义的参数
sql_params list None SQL 参数

绝大多数通过 DFF.CONN(...) 创建的,支持 SQL 语句的连接器操作对象都已经内置了此功能,可以直接使用

示例如下:

Python
1
2
3
4
5
6
7
8
9
sql = 'SELECT * FROM ?? WHERE id = ?'
sql_params = [ 'users', 'user-001' ]
print(DFF.SQL(sql, sql_params))
# SELECT * FROM users WHERE id = 'user-001'

sql = 'SELECT * FROM ?? WHERE name IN (?)'
sql_params = [ 'class', ['语文', '数学', '英语'] ]
print(DFF.SQL(sql, sql_params))
# SELECT * FROM class WHERE name IN ('语文', '数学', '英语')