我正在尝试使用sqlite命令行工具计算sqlite数据库中的列。为了测试它,我创建了一个这样的示例数据库:
c:\>sqlite.exe mydb.sqlite "create table tbl1(one varchar(10), two smallint);"
现在假设我不知道表tbl1有2列,如何使用命令行工具中的查询找到它?
答案 0 :(得分:4)
执行命令
pragma table_info(yourTableName)
请参阅:
http://www.sqlite.org/pragma.html#pragma_table_info
了解更多详情。
答案 1 :(得分: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>
注意:确保数据库未损坏或加密。
<强>更新强>
这是Python脚本解决方案的一个有趣的URL