如何列出使用ATTACH打開的SQLite數據庫文件中的表?



7 Answers

有幾個步驟可以查看SQLite數據庫中的表:

  1. 列出數據庫中的表格:

    .tables
    
  2. 列出表格的外觀:

    .schema tablename
    
  3. 打印整個表格:

    SELECT * FROM tablename;
    
  4. 列出所有可用的SQLite提示命令:

    .help
    
Question

在SQLite數據庫文件中,可以使用什麼SQL來列出這些表以及這些表中的行 - 使用SQLite 3命令行工具上的ATTACH命令將其附加到SQLite數據庫文件中?




從最新版本的SQLite 3開始,您可以發出:

.fullschema

看到你所有的創建語句。







在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



我使用這個查詢來獲取它:

SELECT name FROM sqlite_master WHERE type='table'

並在iOS中使用:

NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_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'



通過向您顯示用於創建所述表的語句,“.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);



要顯示所有表格,請使用

SELECT name FROM sqlite_master WHERE type = "table"

為了顯示所有的行,我猜你可以遍歷所有的表,只是在每個表上做一個SELECT *。 但是也許DUMP就是你以後的事情?






Related