python 獲取sqlite3資料庫的表名和表字段名
阿新 • • 發佈:2018-12-21
Python中對sqlite3資料庫進行操作時,經常需要用到欄位名,然而對於sqlite使用select語句並不能象MySql等資料庫一樣返回帶欄位名的字典資料集。特別是對於一個不熟悉的sqlite資料庫,寫程式碼時如果需要藉助工具檢視,那其實是有點對不起python的。
下面兩段程式碼就可以輕易獲得一個sqlite資料庫中所有資料表名和欄位名的列表:
# python 獲取sqlite3資料庫mydb.db中的表名和表字段名 import sqlite3 conn=sqlite3.connect('mydb.db') cu=conn.cursor() #獲取表名,儲存在tab_name列表 cu.execute("select name from sqlite_master where type='table'") tab_name=cu.fetchall() tab_name=[tab_name[x][0] for x in range(len(tab_name))] #獲取表的列名(欄位名),儲存在col_names列表 col_names=[] for n in range(len(tab_name)): cu.execute('pragma table_info({})'.format(tab_name[n])) col_name=cu.fetchall() col_name=[col_name[x][1] for x in range(len(col_name))] col_names.append(col_name)