2014-08-29 28 views
0

我是python和mysql的新手。我想用python一个接一个地连接21个mysql表。使用python一个接一个地加入mysql表格

我知道有UNION ALL函数在mysql中可以做到这一点。但是,如何在Python中做到这一点。

我的代码是

import MySQLdb 

    db = MySQLdb.connect() 
    cursor = db.cursor() 
    cursor1 = db.cursor() 
    cursor.execute("SELECT * from table 1") 
    cursor1.execute("SELECT * from table 2") 

现在在哪里使用UNION ALL ......我需要为它创建21个光标...

+0

你想蟒蛇什么样的格式来联合后几个查询结果返回?名单?快译通?还是字符串? – 2014-08-29 05:57:26

回答

0
import MySQLdb 

db = MySQLdb.connect() 

cursor = db.cursor() 

sql="SELECT * FROM table1 
UNION ALL 
SELECT * FROM table2 
UNION ALL;" 

'''repeat for 21 table''' 

try: 

    cursor.execute(sql) 
    db.commit() 
except: 

    db.rollback() 

#I think this will do the join 
+0

只能使用一个cursor.Write(sql)union all为每个表语法,然后最后使用cursor.execute(sql).for操作 – 2014-08-29 06:28:51

+0

请问您可以编辑帖子并添加一些关于您已更改内容的细节以及为何?它可以帮助问题的作者更好地理解你做了什么,它肯定会增加你的答案的价值 – 2014-08-29 07:26:17

+0

谢谢深度。它做这项工作,但它需要很长时间来合并2个文件。我想这将需要永久的21个文件加入。我的文件非常大。有没有更快的方法来组合它们。 – tanvi 2014-08-30 06:44:11