You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python sqlite3 SQL查询结果按单独行输出而非单行合并展示

解决方案

你当前代码中fetchone()返回的是单条查询结果组成的元组,直接输出的话会展示为整个元组的单行格式,要实现每个值单独占一行,可按以下方案调整:

方案1:修改函数直接返回符合格式的字符串

import sqlite3
def getdata(name):
    conn = sqlite3.connect('details.db')
    c = conn.cursor()
    # 参数化查询避免SQL注入风险,不推荐直接拼接SQL字符串
    c.execute("SELECT * FROM tbldetails WHERE name = ?", (name,))
    result = c.fetchone()
    conn.close()
    if result:
        # 将元组所有元素转字符串后用换行符拼接
        return '\n'.join(str(i) for i in result)
    return ''

调用该函数直接输出就能得到你要的逐行展示效果。

方案2:不修改原函数返回值,调用时逐行打印

如果不想改动原有函数的返回逻辑,可在拿到结果后遍历输出:

query_res = getdata("你要查询的name值")
for val in query_res:
    print(val)

注意事项

  • 原代码直接拼接SQL字符串的写法存在SQL注入漏洞,若传入恶意参数可能导致数据泄露、数据损坏等问题,优先使用参数化查询写法
  • 数据库连接使用完毕后请主动关闭,避免资源占用

内容的提问来源于stack exchange,提问作者Dylan Caughey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:54:05