我正在嘗試使用sqlite命令行工具來統計sqlite數據庫中的列。爲了測試它,我創建了一個示例數據庫是這樣的:如何從命令行工具中統計sqlite中的列數量
c:\>sqlite.exe mydb.sqlite "create table tbl1(one varchar(10), two smallint);"
現在可以說,我不知道該表TBL1有2列,我怎麼能找到,使用命令行工具查詢?
我正在嘗試使用sqlite命令行工具來統計sqlite數據庫中的列。爲了測試它,我創建了一個示例數據庫是這樣的:如何從命令行工具中統計sqlite中的列數量
c:\>sqlite.exe mydb.sqlite "create table tbl1(one varchar(10), two smallint);"
現在可以說,我不知道該表TBL1有2列,我怎麼能找到,使用命令行工具查詢?
運行:
pragma table_info(yourTableName)
參見:
http://www.sqlite.org/pragma.html#pragma_table_info
瞭解更多詳情。
這是我在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>
注意:確保數據庫沒有損壞或加密。
UPDATE
下面是Python的腳本解決方案
一個有趣的網址但是,有沒有辦法只顯示一個數字,它代表數量列?我需要這個,因爲命令行工具將從安裝程序運行,所以我不想分析或執行任何額外的步驟,因爲安裝程序不會那麼容易,我只想要列號。 – Trevor 2013-03-01 17:22:40
據我所知,沒有直接的方法來獲得列數。我會建議以下其中一項: 1.運行先前的查詢並使用返回的結果數作爲您的計數。或 2.添加您自己的元數據表,其中已有列數。然後你可以直接從該表中查詢。 – Kyle 2013-03-01 17:35:55