2010-11-11 64 views
1

在mysql中,您可以通過explain tablename;來查看錶格的結構sqlite3的等價物是什麼?sqlite3 explain table_name

+0

同類問題http://stackoverflow.com/questions/305378/get-list-of-tables-db-schema-dump-etc-in-python-sqlite3 – Unode 2010-11-11 16:32:20

回答

2

我相信「.schema tablename」就是你要找的東西。

2

可以在Command Line Shell使用.schema

不帶參數的「.schema」 命令顯示了原始CREATE TABLE 和CREATE INDEX語句 被用來建立當前 數據庫。如果您將 表的名稱設置爲「.schema」,則會顯示 原始CREATE語句,該語句用於使 該表以及全部(如果其索引)。

2

這已經以更通用的方式here回答了。

編輯

注意.schema也會給你匹配的名稱相同指標。

實施例:包含在所述查詢的末尾分號

sqlite> SELECT sql FROM SQLITE_MASTER WHERE type = 'table' AND name = 'job'; 
CREATE TABLE job (
     id INTEGER PRIMARY KEY, 
     data VARCHAR 
    ) 
sqlite> SELECT sql FROM SQLITE_MASTER WHERE name = 'job_idx'; 
CREATE INDEX job_idx on job(data) 

sqlite> .schema job 
CREATE TABLE job (
     id INTEGER PRIMARY KEY, 
     data VARCHAR 
    ); 
CREATE INDEX job_idx on job(data); 

CREATE TABLE job (
    id INTEGER PRIMARY KEY, 
    data VARCHAR 
); 
CREATE TABLE job_name (
    id INTEGER PRIMARY KEY, 
    name VARCHAR 
); 
CREATE INDEX job_idx on job(data); 

注之間的差異。

+0

確實如此。我的問題是更具體一些。 – tybro0103 2010-11-11 16:42:04