3

我正在尝试使用 sqlite 命令行工具从 sqlite db 中计算列。为了测试它,我创建了一个这样的示例数据库:

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

现在可以说我不知道​​表 tbl1 有 2 列,我如何使用命令行工具的查询找到它?

4

2 回答 2

4

跑:

pragma table_info(yourTableName)

看:

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

更多细节。

于 2013-03-01T17:10:59.913 回答
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

更新

这是 Python 脚本解决方案的有趣 URL

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

于 2013-05-25T15:15:26.373 回答