回答

收藏

数据库中列出的所有表格

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

是否有一条SQL该命令将列出数据库中的所有表,该命令与提供程序无关(可以在)MSSQLServer,Oracle,MySQL上运行)?
! w6 _! l" ?6 V: L. @& i- z                                                               
# L& Y. {/ B7 O4 @9 r7 X    解决方案:                                                               
0 U* j! u8 Q; x2 Y                                                                最接近的选项是查询INFORMATION_SCHEMA表。
0 ^/ H( ]% O* r$ T2 dSELECT *FROM INFORMATION_SCHEMA.TablesWHERE table_schema = 'mydatabase';它INFORMATION_SCHEMA是标准SQL但并非所有供应商都支持它。据我所知,唯一支持它的是RDBMS供应商是:
+ @5 Z: \( `) B6 M/ _的MySQL2 D/ w5 ?6 l; h8 j
PostgreSQL的
; K1 e0 H. i( Q  D; }! j! G微软SQL服务器2000年/ 2005年/ 2008年
一些品牌的数据库,比如Oracle,IBM9 o% b  _) s4 s& M& [5 H+ @1 d
DB2,Firebird,Derby等等,有类似的目录视图,它为您提供了一个界面,您可以查询系统上的元数据。但是视图的名称,它们包含列及其关系ANSI
/ a5 `6 ?( d5 t. M5 i7 mSQL标准不匹配INFORMATION_SCHEMA。换句话说,类似的信息可以使用,但查询信息是不同的。
8 d! q1 a) B5 s1 p& I- c) v# F! E(脚注:用于系统i的IBM DB2 UDB目录视图和用途Windows / * NIX的IBM DB2 UDB目录视图不同-对于UDB中的
' {, x: D7 G5 fUniversal来说    是如此!)% H. n+ j1 z9 W# W4 i
其他品牌(例如SQLite)没有可查询的元数据接口。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则