Hasty Briefsbeta

双语

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)不可用则使用标准字符串。