python—有没有一种方法可以从mysql数据库中检索用户指定的列?

muk1a3rh  于 2021-06-16  发布在  Mysql
关注(0)|答案(2)|浏览(283)

我有一个mysql数据库,其中包含一个设备所做的一些测量,我正在寻找一种从中检索特定列的方法,用户可以从python接口/前端选择他需要的列。到目前为止,我看到的所有解决方案要么检索所有列,要么在代码本身中指定列。有没有可能的办法让我这么做?谢谢!

g52tjvyc

g52tjvyc1#

您的查询可以如下所示:

select 
      table_name, table_schema, column_name 
from information_schema.columns
where table_schema in ('schema1', 'schema2') 
and column_name like '%column_name%'
order by table_name;

你一定能通过考试 column_name 作为参数(从python代码中获取)动态运行它。

zzlelutf

zzlelutf2#

import MySQLdb

#### #GET COLUMN NAME FROM USER PRESENT WITH IN TABLE

column = input()

#### #Open database connection

db = MySQLdb.connect("host","username","password","DB_name" )

#### #prepare a cursor object using cursor() method

cursor = db.cursor()

#### #execute SQL query using execute() method.

cursor.execute("SELECT * FROM TABLE")

# Fetch a all rows using fetchall() method.

result_set = cursor.fetchall()

for row in result_set:
    print(row[column])

# disconnect from server

db.close()

或者可以使用.execute()运行具有列名的特定查询。

相关问题