什么SQL可以用来列出表,以及在SQLite数据库文件中的这些表中的行-一旦我已经附加了它与SQLite 3命令行工具上的ATTACH命令?
当前回答
.tables和.schema“助手”函数不查找ATTACHed数据库:它们只查询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';
其他回答
.tables和.schema“助手”函数不查找ATTACHed数据库:它们只查询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';
通过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';
我使用这个查询来获得它:
SELECT name FROM sqlite_master WHERE type='table'
在iOS中使用:
NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];
使用.help检查可用的命令。
.table
这个命令将显示当前数据库下的所有表。
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- MySQL数据库表中的最大记录数
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- HyperLogLog算法是如何工作的?
- 数据库和模式的区别
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 如何从命令行在windows中找到mysql数据目录