我正在尝试使用 sqlite 命令行工具从 sqlite db 中计算列。为了测试它,我创建了一个这样的示例数据库:
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>
注意:确保数据库没有损坏或加密。
更新
这是 Python 脚本解决方案的有趣 URL