SQLite資料庫架構的儲存

2021-10-02 02:27:23 字數 1286 閱讀 6652

select*from sqlite_master;

select*from sqlite_temp_master;

資料庫檔案的第1頁是表b-樹的根頁,它包含乙個特殊的表,名為「sqite_master」(如果是temp資料庫,則是「sqite_temp_master」),該錶儲存了完整的資料庫模式。sqite_master表的結構似乎是使用以下sql建立的:

create table sqlite_master(

type text,

name text,

tbl_name text,

rootpage integer,

sql text

);

sqite_master表包含資料庫模式中每乙個表、索引、檢視和觸發器(統稱為「物件」)的一行,除非sqite_master表本身沒有條目。sqite_主表包含內部模式物件除了應用程式和程式設計師定義的物件之外。

sqlit.type列將是以下文字字串之一:「表」、「索引」、「檢視」或「觸發器」(根據定義的物件型別)。「表」字串用於普通和虛擬表.

sqlit.name列將儲存物件的名稱。獨樹一幟和主鍵表上的約束導致sqlite建立內部指標使用表單「sqite_autoindex_table_n」的名稱,其中的表被包含約束的表的名稱替換,n是以1開頭的整數,在表定義中看到的每個約束都是遞增的。在.沒有rowid表中,主鍵沒有sqite_master條目,但是「sqlitt_autoindex_table_n」名稱保留在主鍵中,就好像sqite_master條目確實存在一樣。這將影響隨後唯一約束的編號。「sqite_autoindex_table_n」名稱從未分配給整數主鍵,無論是在rowid表中還是在沒有rowid表中。

sqlit.tbl_name列儲存與物件關聯的表或檢視的名稱。對於表或檢視,tbl_name列是name列的副本。對於索引,tbl_name是索引表的名稱。對於觸發器,tbl_name列儲存導致觸發器觸發的表或檢視的名稱。

sqlit.rootpage列儲存表和索引的根b樹頁的頁碼。對於定義檢視、觸發器和虛擬表的行,rootpage列為0或null。

sql列儲存描述物件的sql文字。此sql文字是建立表, 建立虛擬表, 建立索引, 建立檢視,或建立觸發器語句,如果在資料庫檔案是資料庫連線會重新創造物體。文字通常是用於建立物件的原始語句的副本,但應用了規範化,以使文字符合以下規則:

sqite_master.sql列中的文字是建立物件的原始create語句文字的副本,除了如上所述並經後續修改的規範化文字外變更表陳述。sql為空。內部指標自動建立的獨樹一幟或主鍵制約因素。

SQLite資料庫儲存

建立資料庫 建立資料庫,首先我們需要建立乙個幫助類繼承sqliteopenhelper類,sqliteopenhelper類是乙個抽象類,其中有兩個抽象方法,oncreate upgrade 我們應該在自己的抽象類裡面實現這兩個抽象方法,並在其中事項建立資料庫和公升級資料庫的邏輯。sqliteope...

SQLite儲存 建立資料庫

從昨天晚上六點到今天早上八點全班同學一直都在別墅趴 玩得好開心 此乃本人的學習筆記 我只是將csdn部落格做為乙個記錄學習的地方 so.1.自己重寫乙個類繼承至sqliteopenhelper 2.用繼承的類建立乙個物件 3.使用此物件呼叫getwritabledatabase 或getreadab...

使用SQLite資料庫儲存資料

public class dbhandler extends sqliteopenhelper override public void oncreate sqlitedatabase db override public void onupgrade sqlitedatabase db,int o...