卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

python treeview 如何在python程序中查看sqlite3某數(shù)據(jù)庫(kù)中的表名?

如何在python程序中查看sqlite3某數(shù)據(jù)庫(kù)中的表名?sqlite3數(shù)據(jù)庫(kù)里表的信息存儲(chǔ)在了一個(gè)名為sqlite_master的表中因此可以通過(guò)這條語(yǔ)句來(lái)查看數(shù)據(jù)庫(kù)中所有表的名稱SELECT n

如何在python程序中查看sqlite3某數(shù)據(jù)庫(kù)中的表名?

sqlite3數(shù)據(jù)庫(kù)里表的信息存儲(chǔ)在了一個(gè)名為sqlite_master的表中

因此可以通過(guò)這條語(yǔ)句來(lái)查看數(shù)據(jù)庫(kù)中所有表的名稱

SELECT name FROM sqlite_master WHERE type="table"

下面是Python的用法

con = sqlite3.connect("database.db")cursor = con.cursor()cursor.execute("SELECT name FROM sqlite_master WHERE type="table"")print(cursor.fetchall())

Python和SQLite問(wèn)題,怎么解決?

python編碼如果把中文數(shù)據(jù)存儲(chǔ)至sqlite數(shù)據(jù)庫(kù)某一字段中,再通過(guò)查詢語(yǔ)句取出并進(jìn)行相關(guān)的字符串操作時(shí),經(jīng)常會(huì)出現(xiàn)錯(cuò)誤提示,類似于UnicodeDecodeError,提示某一類型編碼不能轉(zhuǎn)換。出現(xiàn)這個(gè)問(wèn)題的原因是因?yàn)閜ython默認(rèn)使用unicode處理sqlite3的TEXT類型(varchar類型也是如此,因?yàn)樵趕qlite中varchar其實(shí)就是TEXT)。python把中文存入數(shù)據(jù)庫(kù)時(shí)使用了類似于GBK這樣的編碼,取出時(shí)會(huì)嘗試把TEXT類型數(shù)據(jù)轉(zhuǎn)換成unicode,從而出現(xiàn)錯(cuò)誤。由此導(dǎo)致的另一個(gè)不容易發(fā)現(xiàn)的錯(cuò)誤是存儲(chǔ)在數(shù)據(jù)庫(kù)中的中文進(jìn)行了base64之類的編碼,在python中取出時(shí)不會(huì)存在錯(cuò)誤,但是再進(jìn)行base64解碼,并與sqlite3中取出的其它text字段進(jìn)行字符串拼接等處理,就出現(xiàn)編碼轉(zhuǎn)換錯(cuò)誤,很難發(fā)現(xiàn)問(wèn)題原因,可以把其它text字段進(jìn)行如"aaa".encode("gbk")編碼成GBK碼解決,但不提倡這種方法,更好方法如下:解決方法是python連接sqlite數(shù)據(jù)庫(kù)后進(jìn)行如下設(shè)置:conn = sqlite3.connection(“……”)conn.text_factory = str另外為了python代碼中硬編碼的中文字符串不出現(xiàn)問(wèn)題,除了在源碼開始添加# -*- coding:utf-8 -*- 還要設(shè)置python源碼的編碼為utf-8import sysreload(sys)sys.setdefaultencode("utf8")