sqlite資料庫中乙個特殊的名叫 sqlite_master 上執行乙個select查詢以獲得所有表的索引。每乙個 sqlite 資料庫都有乙個叫 sqlite_master 的表, 它定義資料庫的模式。 sqlite_master 表看起來如下:
create table sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
);對於表來說,type 字段永遠是 『table』,name 字段永遠是表的名字。所以,要獲得資料庫中所有表的列表, 使用下列select語句:
select name from sqlite_master
where type=』table』
order by name;
對於索引,type 等於 『index』, name 則是索引的名字,tbl_name 是該索引所屬的表的名字。 不管是表還是索引,sql 欄位是原先用 create table 或 create index 語句建立它們時的命令文字。對於自動建立的索引(用來實現 primary key 或 unique 約束),sql欄位為null。
sqlite_master 表是唯讀的。不能對它使用 update、insert 或 delete。 它會被 create table、create index、drop table 和 drop index 命令自動更新。
臨時表不會出現在 sqlite_master 表中。臨時表及其索引和觸發器存放在另外乙個叫 sqlite_temp_master 的表中。sqlite_temp_master 跟 sqlite_master 差不多, 但它只是對於建立那些臨時表的應用可見。如果要獲得所有表的列表, 不管是永久的還是臨時的,可以使用類似下面的命令:
select name from
(select * from sqlite_master union all
select * from sqlite_temp_master)
where type=』table』
order by name
判斷乙個表是否存在
1.fmdb:
- (bool) istableok:(nsstring *)tablename
else }
return no; }
或者 - (int)i***isttable:(nsstring *)tablename
}[dbclose];
}return i***isttable;
}2.sqlite3直接判斷
-(bool)checkname:(nsstring *)nameelse
}
iOS SQLite資料庫使用
首先需要在專案中引用sqlite 3的開發包,下面是在iphone sdk 3.0下的目錄 developer platforms iphoneos.platform developer sdks iphoneos3.0.sdk usr lib libsqlite3.0.dylib 到這裡你需要事先...
iOS SQLite資料庫操作
首先介紹一下sqlite資料庫以及為什麼要用ta sqlite是一款輕型的嵌入式資料庫,它占用資源非常的低,在嵌入式裝置中,可能只需要幾百k的記憶體就夠了。它的處理速度比mysql postgresql這兩款著名的資料庫都還快。資料庫的儲存結構和excel很像,以表 table 為單位新建資料庫檔案...
iOS sqlite資料庫的基本操作
介紹 sqlite3 3是版本 是本地系統中的乙個小型資料庫,因為它沒有在資料維護和安全上做過多的操作,所以它儲存處理資料時,非常簡單方便,但是它是不安全和不可靠的,如果一旦誤操作刪除了資料,是沒有辦法恢復的 而sql server 和oracal這種資料庫屬於重量級的,它們都有備份機制,因此它們建...