2014-08-29 27 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