首页 > 解决方案 > 如何从 Python 中的 SQL 列中选择值

问题描述

我在 SQL 数据库中有一个名为REQUIREDCOLUMNS的列,其中包含我需要在下面的 Python 脚本中选择的列。

当前代码的摘录:

db = mongo_client.get_database(asqldb_row.SCHEMA_NAME)
coll = db.get_collection(asqldb_row.TABLE_NAME) 
table = list(coll.find())
root = json_normalize(table)

REQUIREDCOLUMNSin SQL 包含值, reportId, siteId,pricelocation

因此,不要显式键入:

print(root[["reportId","siteId","price","location"]])

有办法print(root[REQUIREDCOLUMNS])吗?

注意:(我已经在我的 python 脚本中连接到 SQL 数据库)

标签: pythonsqlsql-serverpandas

解决方案


如果您使用 mysql 或 pymysql ,则必须使用游标,两种语法几乎相似,下面我将提到 mysql

import mysql
import mysql.connector

db = mysql.connector.connect(
   host = "localhost",
    user = "root",
    passwd = "  ",
    database = "  "
)

cursor = db.cursor()
sql="select REQUIREDCOLUMNS from table_name"
cursor.execute(sql)
required_cols = cursor.fetchall()#this wll give ["reportId","siteId","price","location"] 

cols_as_string=','.join(required_cols)
new_sql='select '+cols_as_string+' from table_name'

cursor.execute(new_sql)
result=cursor.fetchall()

这应该可行,我故意将许多行分成几行以便理解。pymysql 的语法可能略有不同


推荐阅读