在 SQLite 3 命令行工具上使用ATTACH
命令附加 SQL 时,可以使用哪些 SQL 来列出表以及 SQLite 数据库文件中这些表中的行?
在 SQLite 数据库中查看表有几个步骤:
列出数据库中的表:
.tables
列出表格的外观:
.schema tablename
打印整个表格:
SELECT * FROM tablename;
列出所有可用的 SQLite 提示命令:
.help
该.tables
和.schema
“辅助” 功能不考虑附加的数据库:他们只是查询SQLITE_MASTER
表 “主” 数据库。因此,如果您使用
ATTACH some_file.db AS my_db;
那你需要做
SELECT name FROM my_db.sqlite_master WHERE type='table';
请注意,临时表也不会显示.tables
:您必须为此列出sqlite_temp_master
:
SELECT name FROM sqlite_temp_master WHERE type='table';
看来你需要通过sqlite_master表,如下所示:
SELECT * FROM dbname.sqlite_master WHERE type='table';
然后用SELECT
或类似方法手动浏览每个表以查看行。
.DUMP
和.SCHEMA
命令似乎根本看不到数据库。