2017-08-22 53 views
-1

連接不同表格形成一個Sqlite文件不同的表格。我有一個sqlite文件,它包括很多表格')並再次執行table_B。通過使用python

我該如何使用循環來做到這一點,我已經搜索整天,但我沒有得到答案,請幫助我。

Thx !!

關於我的代碼,請參考下面

import sqlite3 
import numpy as np 
Sqlite_Path = 'D:\Student.sqlite' 
conn = sqlite3.connect(Sqlite_Path) 
c = conn.cursor() 
c.execute('SELECT ST_Name FROM Table_A') 
data = c.fetchall() 

# do something 

c.execute('SELECT ST_Name FROM Table_B') 
data = c.fetchall() 
# do something again 
+0

https://stackoverflow.com/questions/27088815/sqlite-select-from-multiple-tables –

+0

你是否試圖迭代查詢數據庫中的所有表?如果是這樣,你不能簡單地通過串聯兩個字符串來生成appropariate SQL查詢嗎? – FirefoxMetzger

+0

抱歉,我想也許我寫一個列表表= [表-A,表-B,Table_C] 在範圍X(1:3): c.execute( 'SELECT st_name作爲從表[X]') 數據= C。 fetchall() #做些什麼 – Anti

回答

0

這看起來像一個功課給我,但無論如何:

tables = ["Table_A ", "Table_B", "Table_C"] 
for table in tables: 
    c.execute('SELECT ST_Name FROM {}'.format(table)) 
    data = c.fetchall() 
    # do something 
+0

感謝您的支持,我已經畢業多年,我只對程序語言感興趣,所以我自學。 但我仍然感謝您的幫助,再次。 – Anti

0

如果你不知道所有的表或其他一些原因你可以做這樣的事情:

tables = [r[0] for r in db.execute('select name from sqlite_master where name like "table_%" and type = "table"')] 
for table in tables: 
    stmt = 'SELECT * FROM {};'.format(table) 
    c = db.execute(stmt) 
    rows = c.fetch_all() 
    # ... do something with results 

這將返回ALL你的sqlitefile表名稱