python - 如何从 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)
REQUIREDCOLUMNS
in SQL 包含值, reportId
, siteId
,price
location
因此,不要显式键入:
print(root[["reportId","siteId","price","location"]])
有办法print(root[REQUIREDCOLUMNS])
吗?
注意:(我已经在我的 python 脚本中连接到 SQL 数据库)
解决方案
如果您使用 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 的语法可能略有不同
推荐阅读
- python - 用于 pip / 诗歌的 Python 特殊版本
- reactjs - 在 NextJS 中查询 MongoDB 时如何“确保 CORS 响应标头值有效”
- google-cloud-platform - 实例停止或关闭时的 GCP 警报
- google-sheets - 如何使用另一个工作表有条件地更改 Google 工作表的值
- ios - 如何修复有关使用 CocoaPods 构建 Firebase 的警告?
- constructor - JS将属性仅添加到构造函数(而不是实例)
- sql - SQL Server 上的 ASP 经典选择日期 BETWEEN 日期
- php - Magento - 解析错误:语法错误,意外'\'(T_NS_SEPARATOR),期望函数(T_FUNCTION)或const(T_CONST)
- reactjs - 如何阻止 react-scripts 覆盖 tsconfig.json
- python - Python子进程打开控制台并将stdout/stderr保存到文件