当前位置: 首页 > 面试题库 >

列出数据库中的所有表

施靖
2023-03-14
问题内容

是否有一条SQL命令将列出数据库中的所有表,并且该命令与提供程序无关(可在MSSQLServer,Oracle,MySQL上运行)?


问题答案:

最接近的选项是查询INFORMATION_SCHEMA表。

SELECT *
FROM INFORMATION_SCHEMA.Tables
WHERE table_schema = 'mydatabase';

INFORMATION_SCHEMA是标准SQL的一部分,但并非所有供应商都支持它。据我所知,唯一支持它的RDBMS供应商是:

  • 的MySQL
  • PostgreSQL的
  • 微软SQL服务器2000年/ 2005年/ 2008年

一些品牌的数据库,例如Oracle,IBM
DB2,Firebird,Derby等,具有类似的“目录”视图,这些视图为您提供了一个界面,您可以在其中查询系统上的元数据。但是视图的名称,它们包含的列及其关系与的ANSI
SQL标准不匹配INFORMATION_SCHEMA。换句话说,可以使用类似的信息,但是用于获取该信息的查询是不同的。

(脚注:用于系统i的IBM DB2 UDB中的目录视图与用于Windows / * NIX的IBM DB2 UDB中的目录视图不同-对于UDB中的
Universal来说 是如此!)

其他一些品牌(例如SQLite)根本不提供任何可查询的元数据接口。



 类似资料:
  • 问题内容: 我运行了此命令以访问我的Redis服务器。 现在,我想显示所有数据库。 请告诉我这个命令。 谢谢。 问题答案: 没有命令可以执行此操作(例如您可以使用MySQL进行操作)。Redis数据库的数量是固定的,并在配置文件中设置。默认情况下,您有16个数据库。每个数据库都用数字(而不是名称)标识。 您可以使用以下命令来了解数据库的数量: 您可以使用以下命令列出定义了某些键的数据库: 请注意,

  • 问题内容: 有没有一种方法可以获取实例中所有数据库中所有存储过程中引用的所有列和表?输出应为: 问题答案: 这将得到您想要的列表,但是,如果您在动态SQL中嵌入了此类列引用(并且可能找不到依赖于延迟名称解析的引用),则将无济于事。SQL Server不会解析存储过程的文本以提供DMV输出。 现在尝试使用子句来处理在同一服务器上具有不同归类的数据库的情况。 如果您的数据库处于80兼容模式,那么该语法

  • 问题内容: 我环顾四周,仍然找不到如何列出数据库中的所有表。MySQLi有可能吗? 谢谢。 问题答案: 有很多方法。 是执行此操作的最简单的SQL语句。您还可以查看是否需要更多详细信息或进行过滤等操作。

  • 问题内容: 如何使用查询获取SQL Server数据库中所有表的列表。我的意图是将其动态显示在网页上。 问题答案: 尝试: 这应该给您您想要的。然后,您需要从网页中调用它,以所需格式显示。 您可能要看: 如何使用C#在组合框中从数据库获取所有表的名称 可能会帮助您完成您想做的事情。 另外-您可能想看一下SQL Server:我应该在sys表上使用information_schema表吗? 用于sy

  • 问题内容: 我试图在以下位置找到针对此问题的解决方案:http : //mongodb.github.io/node-mongodb-native/ 但是,我找不到从Node.js应用程序列出所有可用的MongoDB数据库的解决方案。 问题答案: 使用。