根据 文件 ,相当于MySQL的' SHOW TABLES; 是:
SHOW TABLES;
“.tables”命令类似于设置列表模式然后执行 以下查询:
SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' UNION ALL SELECT name FROM sqlite_temp_master WHERE type IN ('table','view') ORDER BY 1;
但是,如果要检查是否存在单个表(或获取其详细信息),请参阅 @LuizGeron 回答。
使用 .help 检查可用的命令。
.help
.table
此命令将显示当前数据库下的所有表。
使用:
import sqlite3 TABLE_LIST_QUERY = "SELECT * FROM sqlite_master where type='table'"
通过 union all ,将所有表组合成一个列表。
union all
select name from sqlite_master where type='table' union all select name from sqlite_temp_master where type='table'
尝试 PRAGMA table_info(table-name); http://www.sqlite.org/pragma.html#schema
PRAGMA table_info(table-name);
要显示所有表格,请使用
SELECT name FROM sqlite_master WHERE type = "table"
为了显示所有行,我猜你可以遍历所有表,并在每个表上执行SELECT *。但也许DUMP就是您追求的目标?
在SQLite数据库中查看表有几个步骤:
列出数据库中的表:
.tables
列出表格的外观:
.schema tablename
打印整个表格:
SELECT * FROM tablename;
列出所有可用的SQLite提示命令:
.da查看所有数据库 - 一个名为' 的 主要 强> “
可以看到此数据库的表
从sqlite_master顺序中选择不同的tbl_name为1;
附加的数据库需要您在语句ATTACH中选择AS的前缀,例如: 的 AA 强> (,bb,cc ......)所以:
从中选择不同的tbl_name 的 aa.sqlite_master 强> 按1排序;
请注意,您也可以在这里获得视图。要排除这些添加 的 其中type ='table' 强> 在'订单'之前
该 .tables ,和 .schema “helper”函数不会查看ATTACHed数据库:它们只是查询 SQLITE_MASTER “主”数据库的表。因此,如果您使用
.schema
SQLITE_MASTER
ATTACH some_file.db AS my_db;
那你需要做
SELECT name FROM my_db.sqlite_master WHERE type='table';
请注意,临时表不会显示 .tables 要么:你必须列出 sqlite_temp_master 为了那个原因:
sqlite_temp_master
SELECT name FROM sqlite_temp_master WHERE type='table';