在Postgres MySql SQLite中获取具有相同查询的表名

在Postgres MySql SQLite中获取具有相同查询的表名,mysql,sql,postgresql,sqlite,Mysql,Sql,Postgresql,Sqlite,我正在做一个学校项目,我正在为我们的项目在NodeJS中构建一个小服务器,我的任务之一是找到一种方法来获取所选数据库中所有“用户”表的表名。 因为我需要连接到不同的SQL数据库,MySQL-PostgreSQL-SQLite,所以我希望通过执行相同的查询来获得相同的结果,我将解释我自己。 我已经开始使用MySQL,我已经“找到”了这个查询: `SELECT table_name FROM information_schema.tables WHERE table_schema ='${confi

我正在做一个学校项目,我正在为我们的项目在NodeJS中构建一个小服务器,我的任务之一是找到一种方法来获取所选数据库中所有“用户”表的表名。 因为我需要连接到不同的SQL数据库,MySQL-PostgreSQL-SQLite,所以我希望通过执行相同的查询来获得相同的结果,我将解释我自己。 我已经开始使用MySQL,我已经“找到”了这个查询:

`SELECT table_name FROM information_schema.tables WHERE table_schema ='${config.DB_Name}'`
并正确返回所选数据库中的所有表名。之后,我开始使用PostgreSQL,该查询(成功运行)返回0结果。 因此,我开始寻找另一个可以在Postgres中返回相同结果的查询,我发现:

    SELECT table_name
  FROM information_schema.tables
 WHERE table_schema='public'
   AND table_type='BASE TABLE';

我想知道,有没有在MySQL PostgreSQL SQLite上运行的查询会给我相同的结果?

您的PostgreSQL查询会在所有支持SQL标准功能F021的数据库上正常工作。如果它在MySQL中不工作,那么要么它不支持该功能,要么它是一个bug

请注意,PostgreSQL和SQL标准所称的模式在MySQL中称为“数据库”。

不,没有。检查:对于SQLite,每种方言在模式信息方面都有很大的不同。这里没有灵丹妙药。这就是为什么像这样的工具存在的原因。