【问题标题】:multiline sql query in python with comments带有注释的python中的多行sql查询
【发布时间】:2025-12-27 05:40:12
【问题描述】:

如果我们想将长 sql 查询分成多行,我们可以这样做:

data = db_fetchquery(f"""SELECT price
                    FROM car WHERE make_year = '{make_year}'
                    AND model = '{model}'""")

现在,这只是一个实际的简短示例,有 16 个并带有嵌套的 where 子句,所以我想对每个条件进行注释,以便于回忆。就像:

data = db_fetchquery(f"""SELECT price #selecting price
                    FROM car WHERE make_year > '{make_year}' #where make_year > the requested make_year
                    AND model = '{model}'""") #specific model

【问题讨论】:

  • 首先,您的代码容易受到 SQL 注入漏洞的攻击。其次,您可以将字符串文字一个接一个地连接起来。
  • 你可以使用--而不是#来评论sql中的内容
  • 也可以使用 /* Comments.. */ 超过一行
  • # 在我所知道的任何 SQL 风格中都不是有效的注释标识符。

标签: python sql python-3.x


【解决方案1】:

在sql语言中,一行cmets以--开头 和使用/* <comment> */ 的多行cmets 所以:

data = db_fetchquery(f"""SELECT price /* selecting price */
                    FROM car WHERE make_year > '{make_year}' /*where make_year > the requested make_year */
                    AND model = '{model}'""") #specific model

【讨论】: