首页 > 解决方案 > python postgresql 选择用户输入

问题描述

我遇到了问题,我认为我缺少一些非常基本的东西。如果谈到编程,我是个菜鸟,但我想我学得很快。我正在尝试制作一个要求用户输入然后执行 Postgresql SELECT 的 Python 脚本。然后,应将 SELECT 的结果放入另一个使用 SSH 的脚本中,但我无法理解该 SELECT 查询。我的代码有一个基本示例,如果您有任何提示,我将不胜感激:

print('Diagnostic tool')
print('')
print('Please insert account ID:')
input()
try:
    conn = psycopg2.connect("dbname='psql' user='user' host='localhost' 
    password='pasword'")
    cur = conn.cursor()
    cur.execute("SELECT * FROM exampletable WHERE acc_id = #userinput ")
    cur.fetchall()
except:
    print ("Could not establish connection to Database")

如上所示 - 如何执行使用 SELECT WHERE 表名是用户输入 (acc_id) 的查询?

标签: pythonpostgresqlpsycopg2

解决方案


您可以在字符串上使用格式函数。

id = input("Please enter your id")
# id should be passed to format. 
query = "SELECT * FROM exampletable WHERE acc_id = {} ".format(id)
try:
   conn = psycopg2.connect("dbname='psql' user='user' host='localhost' 
   password='pasword'")
   cur = conn.cursor()
   cur.execute(query )
   cur.fetchall()
except:
 print ("Could not establish connection to Database")

推荐阅读