Show HN: SQL-tString a t-string SQL builder in Python
a year ago
- #Python
- #SQL
- #security
- SQL-tString 支持基于t-string的SQL查询构建,且无SQL注入风险。
- 基本用法是将t-string传递给`sql`函数,该函数会返回查询字符串和值列表。
- t-string中的参数必须是简单变量标识符,像`{a - 1}`这样的表达式是无效的。
- `sql_context`允许预定义有效的列名和表名,如果值不匹配则会引发错误。
- 特殊值如`Absent`可从查询中移除参数,适用于可选更新或条件语句。
- `IsNull`和`IsNotNull`会重写条件语句以正确处理SQL NULL值。
- 支持通过`set_context`配置`qmark`和`asyncpg`参数风格。
- 兼容Python 3.12和3.13,如果t-string(PEP 750)不可用则使用标准字符串。