database 如何列出使用ATTACH打開的SQLite數據庫文件中的表?
8
Answers
sql database sqlite metadata
在SQLite數據庫文件中,可以使用什麼SQL來列出這些表以及這些表中的行 - 使用SQLite 3命令行工具上的ATTACH
命令將其附加到SQLite數據庫文件中?
990 votes
sql
要顯示所有表格,請使用
SELECT name FROM sqlite_master WHERE type = "table"
為了顯示所有的行,我猜你可以遍歷所有的表,只是在每個表上做一個SELECT *。 但是也許DUMP就是你以後的事情?
sql1
988
在SQLite命令行上有一個可用的命令:
.tables ?PATTERN? List names of tables matching a LIKE pattern
其中轉換為以下SQL:
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
sql2
987
嘗試PRAGMA table_info(table-name);
http://www.sqlite.org/pragma.html#schema
sql3
986
從最新版本的SQLite 3開始,您可以發出:
.fullschema
看到你所有的創建語句。
sql4
985
我使用這個查詢來獲取它:
SELECT name FROM sqlite_master WHERE type='table'
並在iOS中使用:
NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];
sql5
984
通過union all
,將所有表格合併成一個清單。
select name
from sqlite_master
where type='table'
union all
select name
from sqlite_temp_master
where type='table'
sql6
983
通過向您顯示用於創建所述表的語句,“.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);
sql7
982