SQLite的sqlite_master表

大學霸發表於2017-04-12
SQLite的sqlite_master表

sqlite_master表是SQLite的系統表。該表記錄該資料庫中儲存的表、索引、檢視、和觸發器資訊。每一行記錄一個專案。在建立一個SQLIte資料庫的時候,該表會自動建立。sqlite_master表包含5列。

type列記錄了專案的型別,如table、index、view、trigger。
name列記錄了專案的名稱,如表名、索引名等。
tbl_name列記錄所從屬的表名,如索引所在的表名。對於表來說,該列就是表名本身。
rootpage列記錄專案在資料庫頁中儲存的編號。對於檢視和觸發器,該列值為0或者NULL。
sql列記錄建立該專案的SQL語句。

由於sqlite_master表儲存所有的資料庫專案,所以可以透過該表判斷特定的表、檢視或者索引是否存在。例如,以下語句可以判斷user表是否存在。

select count(*) from sqlite_master where name='user' and type='table'

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2137103/,如需轉載,請註明出處,否則將追究法律責任。

相關文章