在python中选择值中的列
我有如下代码:在python中选择值中的列,python,sql,Python,Sql,我有如下代码: sql_command='''SELECT Grade From GRADES where Student_Number='''+str(id) +''' AND Course_ID IN'''+(list) grades=execute_sql(sql_command,sql_cursor) 其中,列表是包含课程id列中满足条件(特定课程id)的元素的列表 我想说的是,选择课程id列是我列表中课程id的唯一等级。 如何操作?您希望将列表中的所有元素合并为一个字符串
sql_command='''SELECT Grade From GRADES where Student_Number='''+str(id) +''' AND Course_ID IN'''+(list)
grades=execute_sql(sql_command,sql_cursor)
其中,列表是包含课程id列中满足条件(特定课程id)的元素的列表
我想说的是,选择课程id列是我列表中课程id的唯一等级。
如何操作?您希望将列表中的所有元素合并为一个字符串,例如:
sql_command ='''SELECT Grade From GRADES where Student_Number='''+str(id)
sql_command+=''' AND Course_ID IN ('''+ ','.join(list) + ''')'''
有几件事:
- 假设ID来自用户的输入,该脚本将容易受到SQL注入攻击。有关使用更安全的参数的示例,请参见
- 您的具体问题的解决方案包括内爆您的列表: 格式字符串=','。连接(['%s']*len(列表))
来源:以下是如何使用sqlite3完成的
cursor.execute(
"SELECT Grade From GRADES where Student_Number= ? AND Course_ID IN (?)",
(id, ','.join(map(str, list)))
)
请不要使用%s,因为不推荐使用它。查看更多信息。列表包含元组,而不是str。。。。“是做同样的事还是做同样的事?”埃里克·布沃斯从这个问题上我不清楚。假设其中一个元组值包含您感兴趣的课程id,您可以使用列表包含元组(而不是str)的答案创建一个仅包含这些值的新列表,这与编写相同吗?@Stephan