0
我想在Python中使用sqlite3.connect.cursor.execute來操縱數據庫,但不知道如何正確構造SELECT語句,以便在下面的代碼中的tbname可以作爲變量正確讀入。Python的sqlite3,指的是執行語句中的變量
我試圖離開結束引號外的tbname,希望以這種方式Python知道tbname是一個變量。但是代碼不起作用。任何想法?
def print_col(dbname, tbname):
conn = sqlite3.connect(dbname)
c = conn.cursor()
c.execute('SELECT sql FROM sqlite_master WHERE type = \'table\' AND tbl_name = '+ tbname)
print c.fetchall()
conn.close()
你什麼錯誤?你怎麼稱呼print_col? –
嗨,我得到以下錯誤: c.execute('SELECT sql from sqlite_master WHERE type = \'table \'AND tbl_name ='+ tbname)OperationalError:no such column:details – z257
而我通過詢問print_col函數用戶輸入: dbname2 = raw_input('請輸入數據庫名稱(grades.db/program.db):') tbname2 = raw_input('請輸入表名(課程/詳情):') print_col(dbname2 ,tbname2) – z257