列出表
SHOW TABLES 命令可用于获取当前选中 schema 下所有表的列表。
CREATE TABLE tbl (i INTEGER);
SHOW TABLES;
| name |
|---|
| tbl |
SHOW 或 SHOW ALL TABLES 可用于获取所有已附加数据库与 schema 中的全部表列表。
CREATE TABLE tbl (i INTEGER);
CREATE SCHEMA s1;
CREATE TABLE s1.tbl (v VARCHAR);
SHOW ALL TABLES;
| database | schema | table_name | column_names | column_types | temporary |
|---|---|---|---|---|---|
| memory | main | tbl | [i] | [INTEGER] | false |
| memory | s1 | tbl | [v] | [VARCHAR] | false |
SHOW TABLES FROM db 可用于列出指定数据库或 schema 中的全部表。
ATTACH 'db.db';
CREATE TABLE db.main_tbl (u VARCHAR);
CREATE SCHEMA db.s1;
CREATE TABLE db.s1.schema_tbl (v VARCHAR);
SHOW TABLES FROM db;
| name |
|---|
| main_tbl |
| schema_tbl |
也可以指定某个 schema。
SHOW TABLES FROM db.s1;
| name |
|---|
| schema_tbl |
要查看单个表的 schema,请使用 DESCRIBE 命令。
另见
同样也定义了 SQL 标准的 information_schema 视图。此外,Goose 还定义了 sqlite_master 以及大量 PostgreSQL 系统目录表,分别用于兼容 SQLite 与 PostgreSQL。