获取数据库元数据PHP/PDO
是否有一种方法可以使用PHP的PDO获取数据库元数据 我正在寻找类似于JavaJDBC数据库元数据接口的东西 我感兴趣的是检索给定表的外键列表,但我不希望该解决方案绑定到任何特定的DBMS 到目前为止,我发现的是信息_模式,它是ANSI/ISO SQL:2003标准并存储这些元数据,但我不确定所有RDBMS都符合它,一般来说,无SQL解决方案(如JAVA DatabaseMetadata)更可取获取数据库元数据PHP/PDO,php,sql,pdo,database-metadata,Php,Sql,Pdo,Database Metadata,是否有一种方法可以使用PHP的PDO获取数据库元数据 我正在寻找类似于JavaJDBC数据库元数据接口的东西 我感兴趣的是检索给定表的外键列表,但我不希望该解决方案绑定到任何特定的DBMS 到目前为止,我发现的是信息_模式,它是ANSI/ISO SQL:2003标准并存储这些元数据,但我不确定所有RDBMS都符合它,一般来说,无SQL解决方案(如JAVA DatabaseMetadata)更可取 感谢您的输入,我不确定它们是否相等,但对于mssql,您还有一个信息模式,我不知道其他DBM是否也有
感谢您的输入,我不确定它们是否相等,但对于mssql,您还有一个信息模式,我不知道其他DBM是否也有相同的模式 此外,您还可以使用这些来提供有关数据库结构的信息 但这并不能再次适用于所有其他DBMS(JDB使用desc而不是descripe)
因此,我想没有一种单一/一致的方法来检索多个DBMS的数据库结构,也许您可以从应用程序中的模型而不是数据库中提取结构?这似乎是PHP PDO中缺少的一件相当严重的事情。。。而getColumnMeta仍然是“实验性的” 只是一个想法:它很难做到优雅,但在极端情况下可能需要考虑,在极端情况下,您确实希望或需要尽可能多的此数据库或列元数据:使用PHP exec()运行(对于MySQL): 然后检查dumpfile.sql。显然,您必须为其他DBMS找到类似的命令
mysqldump -d -h localhost -u username -ppwd databasename > dumpfile.sql