为了账号安全,请及时绑定邮箱和手机立即绑定

通过SQL查询获取特定数据库的所有表名?

通过SQL查询获取特定数据库的所有表名?

牛魔王的故事 2019-11-05 14:36:18
我正在研究可以处理多个数据库服务器(如“ MySQL”和“ MS SQL Server”)的应用程序。我想使用适合所有数据库类型的常规查询来获取特定数据库的表名。我尝试了以下方法:SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'但是它给出了特定服务器的所有数据库的表名,但是我只想获取所选数据库的表名。如何限制此查询以获取特定数据库的表?
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

可能是由于不同的sql dbms处理架构的方式所致。


尝试以下


对于SQL Server:


SELECT TABLE_NAME

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName'

对于MySQL:


SELECT TABLE_NAME 

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='dbName' 

对于Oracle,我认为可以使用DBA_TABLES。


查看完整回答
反对 回复 2019-11-05
?
千万里不及你

TA贡献1784条经验 获得超9个赞

从这里被盗:


USE YOURDBNAME

GO 

SELECT *

FROM sys.Tables

GO


查看完整回答
反对 回复 2019-11-05
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

以下查询将选择Tables数据库中所有名为的DBName:


USE DBName

GO 

SELECT *

FROM sys.Tables

GO


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 804 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信