使用python从Database中的多个表中提取多个值

时间:2016-05-16 07:26:44

标签: python mysql database

我有一个python列表,里面有多个列表,里面有表和变量。 示例:

list = [ [ table1, var1 ], [ table2,var2,var3,var4 ], [ table3,var5,var6 ] ] .

可以在SQL中编写单个python查询以从所有给定表中提取数据。

SQL我们会写这样的东西

SELECT table1.var1, table2.var2, table2.var3 FROM table1, table2.

但在python我面临困难,因为我们只能访问一个元素,例如:list [0] [1],list [1] [0]等。

1 个答案:

答案 0 :(得分:0)

您可以动态访问列表元素。假设您的列表存储字符串并且您想输出字符串:

for tablelist in list:
    for var in tablelist[1:]:
        print(tl[0] + '.' + var)

或使用列表理解:

[tablelist[0] + '.' + var for tablelist in list for var in tablelist[1:]]

创建一个包含您问题中的SQL语句的字符串:

var_accesses = [tablelist[0] + '.' + var for tablelist in list for var in tablelist[1:]]
var_accesses_string = ', '.join(var_accesses)
tables = [tablelist[0] for tablelist in list]
tables_string = ', '.join(tables)
sql_query = 'SELECT {} FROM {}'.format(var_accesses_string, tables_string)