在SQLite資料庫中如何列出所有的表和索引

2021-06-12 00:35:06 字數 1233 閱讀 1177

如果你執行 sqlite3 命令列來訪問你的資料庫,可以鍵入 「.tables」來獲得所有表的列表。或者,你可以輸入 「.schema」 來看整個資料庫模式,包括所有的表的索引。 輸入這些命令,後面跟乙個like模式匹配可以限制顯示的表。

在乙個 c/c++ 程式中(或者指令碼語言使用 tcl/ruby/perl/python 等) 你可以在乙個特殊的名叫 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

如何操作sqlite資料庫

安裝django的時候會自動把sqlite資料庫安裝上,下面介紹如何操作sqlite資料庫 1 進入你建立的目錄,在終端執行 sqlite3 dbname.db 2 進入後輸入.help可以檢視幫助文件 3 tables 可以要看sqlite3中有哪些表 select from tablename ...

ios開發中如何使用sqlite資料庫

首先,使用sqlite儲存資料,需要新增libsqlite3.dylib 這個動態庫,然後 新增動態庫的主標頭檔案 import db就是資料庫的象徵,如果要進行crud 增刪改查 得操作db這個例項 property nonatomic,assign sqlite3 db 第一步 開啟資料庫。當系...

Python 如何使用SQLite資料庫

在資料庫支援方面,python提供了很簡便的介面,可以很容易地連線到mysql sqlite等各種各樣的資料庫。sqlite是一種輕量化的檔案型資料庫,預設是直接使用檔案的形式在本地計算機就可以直接擁有運算元據庫的優勢。也就說,雖然sqlite把資料庫以檔案的形式表現,但具有資料庫的操作功能,通過s...