我尝试使用sqlite命令行工具从sqlite数据库中计算列数。为了测试它,我创建了一个像这样的示例数据库:
c:\>sqlite.exe mydb.sqlite "create table tbl1(one varchar(10), two smallint);"
字符串现在假设我不知道表tbl1有2列,我如何使用命令行工具中的查询找到它?
67up9zun1#
运行:
pragma table_info(yourTableName)
字符串请参阅:
http://www.sqlite.org/pragma.html#pragma_table_info
型了解更多详情。
sr4lhrrt2#
这是我在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 ;}个在terminal中的第一行键入以下命令以返回结果
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脚本解决方案的有趣URLhttp://pagehalffull.wordpress.com/2012/11/14/python-script-to-count-tables-columns-and-rows-in-sqlite-database/的
l3zydbqr3#
将查询更改为:
SELECT COUNT(*) FROM pragma_table_info(tablename);
字符串
3条答案
按热度按时间67up9zun1#
运行:
字符串
请参阅:
型
了解更多详情。
sr4lhrrt2#
这是我在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 ;}
个在terminal中的第一行键入以下命令以返回结果
字符串
注:确保数据库未损坏或未加密。
来源: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/的
l3zydbqr3#
将查询更改为:
字符串