选择请求中的Pragma

时间:2015-11-06 13:00:12

标签: sql sqlite pragma

我想在SQLite的表中检索列的名称和行数。 有可能这样做是一个命令吗?

SELECT COUNT(*) FROM tablename

PRAGMA table_info(tablename))

2 个答案:

答案 0 :(得分:2)

PRAGMA是一个单独的命令,而不是(子)查询,不能与其他SQL语句结合使用。

答案 1 :(得分:0)

可接受的答案是正确的,但是现在已经过时了,因为SQLite 3.16.0可以使用PRAGMA functions

所以您现在可以写:

SELECT * FROM pragma_table_info('tablename') JOIN (SELECT COUNT(*) FROM tablename);

或者如果您只需要名称:

SELECT name, rowcount FROM pragma_table_info('tablename') JOIN (SELECT COUNT(*) AS rowcount FROM tablename);

(已在SQLite 3.25.2中进行了测试)

使用它需要您自担风险:

  

此功能是实验性的,随时可能更改。如果PRAGMAs功能的表值函数得到正式支持,将提供进一步的文档。