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

Python中如何将input输入值插入PostgreSQL数据库表?

实现方法

注意:禁止直接将用户输入拼接进SQL字符串,会引发SQL注入风险,必须使用psycopg2提供的参数化查询能力实现

具体实现步骤如下:

  • 调用input()函数获取用户输入的内容
  • 在SQL语句中使用%s作为待插入值的占位符
  • 将用户输入值封装为元组,作为cur.execute()的第二个参数传入

修改后的完整代码如下:

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    database="Twitterzuil",
    user="postgres",
    password=""
)

cur = conn.cursor()

# 获取用户输入
user_input_name = input("请输入要插入的name值:")

# 用参数化查询执行插入,第二个参数是和占位符顺序对应的参数元组
cur.execute("INSERT INTO Bericht2 (name) VALUES (%s)", (user_input_name,))
conn.commit()

# 用完后关闭连接和游标
cur.close()
conn.close()

额外说明:

  • 参数元组最后必须加逗号,哪怕只有一个参数,否则Python会识别为单个变量而非元组,导致执行报错
  • psycopg2的参数化查询会自动处理输入内容的转义,避免SQL注入问题,是官方推荐的传值方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:57:00