如何从Sqlite数据库中读取元数据

use*_*152 7 sqlite

有时我使用 SQLite 数据库,但我对它的结构一无所知是很常见的。

我需要检索所有元数据,例如数据库或表的名称、列的数据类型、主键、外键或访问权限。

MSSQL 有用于此目的的 information_schema,但 SQLite 有类似的东西吗?

Dar*_*rio 8

例如,MySQL 的等价物describe t1;

PRAGMA TABLE_INFO(t1);
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM sqlite_master WHERE tbl_name = 't1';
Run Code Online (Sandbox Code Playgroud)

也很有用。然而,大多数时候,我只是使用

.schema t1 
Run Code Online (Sandbox Code Playgroud)

它输出表或视图的 SQL 定义,即使带有原始注释(与 完全相同SELECT sql FROM sqlite_master WHERE...,但键入较少。.sch也可以。)