从 Node.js 中的 SQLite 获取表列表
Posted
技术标签:
【中文标题】从 Node.js 中的 SQLite 获取表列表【英文标题】:Get list of tables from SQLite in Node.js 【发布时间】:2016-04-01 13:04:51 【问题描述】:下面的代码只返回第一个表的名称,如何获取现有sqlite中所有可用表名的列表?
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('path/to/mydb.sqlite');
db.serialize(function ()
db.get("select name from sqlite_master where type='table'", function (err, table)
console.log(table);
);
);
输出
name: "meta"
在 sqlite3 命令行中打开时
sqlite> .tables
downloads meta urls
downloads_url_chains segment_usage visit_source
keyword_search_terms segments visits
【问题讨论】:
【参考方案1】:来自get()'s doc:
使用指定参数运行 SQL 查询,然后使用第一个结果行调用回调。
你必须使用db.all():
db.serialize(function ()
db.all("select name from sqlite_master where type='table'", function (err, tables)
console.log(tables);
);
);
或者db.each(),如果你想为每一行调用回调:
db.serialize(function ()
db.each("select name from sqlite_master where type='table'", function (err, table)
console.log(table);
);
);
【讨论】:
以上是关于从 Node.js 中的 SQLite 获取表列表的主要内容,如果未能解决你的问题,请参考以下文章
在 node.js 应用程序中使用参数中的变量从 sqlite 数据库中查询数据
Android Sqlite:如何从 Listview 中获取 SQLite rowId?
如何从 sqlite DB 中列出表名——Android [重复]