回答

收藏

数据库中列出的所有表格

技术问答 技术问答 108 人阅读 | 0 人回复 | 2023-09-14

是否有一条SQL该命令将列出数据库中的所有表,该命令与提供程序无关(可以在)MSSQLServer,Oracle,MySQL上运行)?
, j  Z9 n( j! F7 c+ |                                                                0 Q; \' U. S0 L' n) M( h4 V
    解决方案:                                                                  v& |/ [( P8 X8 ^* l/ v
                                                                最接近的选项是查询INFORMATION_SCHEMA表。
, ?' H  T" G7 |0 OSELECT *FROM INFORMATION_SCHEMA.TablesWHERE table_schema = 'mydatabase';它INFORMATION_SCHEMA是标准SQL但并非所有供应商都支持它。据我所知,唯一支持它的是RDBMS供应商是:+ a5 O7 S! L3 z9 U9 L7 G' d1 `0 r4 ]
的MySQL8 W( k( @4 {- X2 q+ g1 p- w
PostgreSQL的
& C/ S( @: W3 {' K# h5 b7 |) r微软SQL服务器2000年/ 2005年/ 2008年
一些品牌的数据库,比如Oracle,IBM. M: T4 Y% f. I7 k' p5 j
DB2,Firebird,Derby等等,有类似的目录视图,它为您提供了一个界面,您可以查询系统上的元数据。但是视图的名称,它们包含列及其关系ANSI
/ p! q" Z8 ~. h# FSQL标准不匹配INFORMATION_SCHEMA。换句话说,类似的信息可以使用,但查询信息是不同的。
/ s3 s3 z! x. G0 Q(脚注:用于系统i的IBM DB2 UDB目录视图和用途Windows / * NIX的IBM DB2 UDB目录视图不同-对于UDB中的) X" @0 l$ P3 F, u5 I7 L) v+ r6 y
Universal来说    是如此!)7 C! D. \8 ~, _6 |6 U4 c, ]
其他品牌(例如SQLite)没有可查询的元数据接口。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则