什么SQL可以用来列出表,以及在SQLite数据库文件中的这些表中的行-一旦我已经附加了它与SQLite 3命令行工具上的ATTACH命令?


当前回答

使用.da查看所有数据库-其中一个被称为“main”。

该数据库的表可以通过以下方式查看:

SELECT distinct tbl_name from sqlite_master order by 1;

附加的数据库需要在ATTACH语句中用AS选择前缀,例如aa (, bb, cc…),因此:

SELECT distinct tbl_name from **aa.sqlite_master** order by 1;

请注意,在这里您也可以获得视图。要排除这些,请添加:

where type = 'table'

在order之前

其他回答

”。Schema " commando将列出可用的表及其行,通过显示用于创建上述表的语句:

sqlite> create table_a (id int, a int, b int);
sqlite> .schema table_a
CREATE TABLE table_a (id int, a int, b int);

通过union all,将所有表合并到一个列表中。

select name
from sqlite_master 
where type='table'

union all 

select name 
from sqlite_temp_master 
where type='table'

我使用这个查询来获得它:

SELECT name FROM sqlite_master WHERE type='table'

在iOS中使用:

NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];

看起来你需要遍历sqlite_master表,就像这样:

SELECT * FROM dbname.sqlite_master WHERE type='table';

然后用SELECT或类似的方法手动遍历每个表以查看行。

. dump和. schema命令似乎根本看不到数据库。

在SQLite数据库中查看表有几个步骤:

列出数据库中的表: .tables 列出表格的外观: . schema的表 打印整个表格: SELECT * FROM tablename; 列出所有可用的SQLite提示命令: .help