SQL 列出所有表

摘要:在本教程中,你将学习如何使用命令在不同的数据库管理系统中列出数据库的所有表。

每个数据库系统都有自己用于显示指定数据库中所有表的命令。在这里你可以找到列出 MySQL、PostgreSQL、Oracle、SQL Server、DB2 和 SQLite 中所有表的 SQL 命令。

SQL 命令用以列出 MySQL 中的所有表

要列出 MySQL 中的所有表,首先使用以下命令连接到 MySQL 数据库服务器

mysql -u username -p
Code language: SQL (Structured Query Language) (sql)

然后,MySQL 会提示输入密码;输入该用户对应的正确密码并按回车键。

之后,选择要操作的数据库

use database_name;
Code language: SQL (Structured Query Language) (sql)

最后,发出 SHOW TABLES 命令以显示当前数据库中的所有表

show tables;
Code language: SQL (Structured Query Language) (sql)

SQL 命令用以列出 Oracle 中的所有表

在 Oracle 中,你可以使用 SQL*Plus 或 SQL Developer 连接到 Oracle 数据库服务器 并显示数据库中的所有表。然后发出以下 SQL 语句之一

1) 显示当前用户拥有的所有表

SELECT 
    table_name
FROM
    user_tables;
Code language: SQL (Structured Query Language) (sql)

2) 显示当前数据库中的所有表

SELECT 
    table_name
FROM
    dba_tables;
Code language: SQL (Structured Query Language) (sql)

3) 显示当前用户可以访问的所有表

SELECT 
    table_name
FROM
    all_tables;
Code language: SQL (Structured Query Language) (sql)

SQL 命令用以列出 PostgreSQL 中的所有表

对于 PostgreSQL,你可以使用 psql 命令行程序 连接到 PostgreSQL 数据库服务器 并显示数据库中的所有表。

首先,连接到 PostgreSQL 数据库服务器

psql -d database_name -U  user -W
Code language: SQL (Structured Query Language) (sql)

PostgreSQL 会提示输入密码;输入正确的密码并按回车键。

然后,发出以下命令以显示当前数据库中的所有表

\dt
Code language: SQL (Structured Query Language) (sql)

如果还想显示表的表大小和表描述,可以使用以下命令

\dt+ 
Code language: SQL (Structured Query Language) (sql)

SQL 命令用以列出 SQL Server 中的所有表

在 SQL Server 中,你可以使用以下查询查找当前连接数据库中的所有表

SELECT 
    *
FROM
    information_schema.tables;
Code language: SQL (Structured Query Language) (sql)

SQL 命令用以列出 DB2 中的所有表

首先,连接到 DB2 数据库服务器上的特定数据库

db2 connect to database_name
Code language: SQL (Structured Query Language) (sql)

其次,要列出当前数据库架构中的所有表,使用以下命令

db2 list tables for schema schema_name
Code language: SQL (Structured Query Language) (sql)

要列出所有表,使用以下命令

db2 list tables for all
Code language: SQL (Structured Query Language) (sql)

SQL 命令用以列出 SQLite 中的所有表

要显示当前 SQLite 数据库中的所有表,使用以下命令

.tables 
Code language: SQL (Structured Query Language) (sql)

如果希望根据特定模式查询表(例如,所有名称以 test 开头的表),则使用以下命令

.tables 'test%';
Code language: SQL (Structured Query Language) (sql)

在本教程中,你学习了用于在不同数据库系统(包括 MySQL、PostgreSQL、Oracle、SQL Server、DB2 和 SQLite)中显示数据库中所有表的命令。