2013-03-01 38 views
1

我正在嘗試使用sqlite命令行工具來統計sqlite數據庫中的列。爲了測試它,我創建了一個示例數據庫是這樣的:如何從命令行工具中統計sqlite中的列數量

c:\>sqlite.exe mydb.sqlite "create table tbl1(one varchar(10), two smallint);" 

現在可以說,我不知道該表TBL1有2列,我怎麼能找到,使用命令行工具查詢?

回答

3

運行:

pragma table_info(yourTableName) 

參見:

http://www.sqlite.org/pragma.html#pragma_table_info 

瞭解更多詳情。

+0

一個有趣的網址但是,有沒有辦法只顯示一個數字,它代表數量列?我需要這個,因爲命令行工具將從安裝程序運行,所以我不想分析或執行任何額外的步驟,因爲安裝程序不會那麼容易,我只想要列號。 – Trevor 2013-03-01 17:22:40

+1

據我所知,沒有直接的方法來獲得列數。我會建議以下其中一項: 1.運行先前的查詢並使用返回的結果數作爲您的計數。或 2.添加您自己的元數據表,其中已有列數。然後你可以直接從該表中查詢。 – Kyle 2013-03-01 17:35:55

0

這是我在Linux下發現的一種方法。創建一個bash腳本文件columns.sh並確保它具有執行權限並複製 - 粘貼以下代碼。

columns() { for table in $(echo ".tables" | sqlite3 $1); do echo "$table $(echo "PRAGMA table_info($table);" | sqlite3 $1 | wc -l)"; done ;}

類型下面的命令,在終端,在第一行至返回結果

$ columns <database name> 
    <table1>   <# of columns> 
    <table2>   <# of columns> 

注意:確保數據庫沒有損壞或加密。

來源:http://www.quora.com/SQLite/How-can-I-count-the-number-of-columns-in-a-table-from-the-shell-in-SQLite

UPDATE

下面是Python的腳本解決方案

http://pagehalffull.wordpress.com/2012/11/14/python-script-to-count-tables-columns-and-rows-in-sqlite-database/