一 . 得到这个对象的实例
Connection con ;
con = DriverManager.getConnection(url,userName,password);
DatabaseMetaData dbmd = con.getMetaData();
二. 方法getTables的用法
原型:
ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type)
此方法可返回结果集合ResultSet ,结果集中有5列, 超出会报越界异常
功能描述:得到指定参数的表信息
参数说明:
参数:catalog:目录名称,一般都为空.
参数:schema:数据库名,对于oracle来说就用户名
参数:tablename:表名称
参数:type :表的类型(TABLE | VIEW)
注意:在使用过程中,参数名称必须使用大写的。否则得到什么东西。
三. 方法getColumns的用法
功能描述:得到指定表的列信息。
原型:
ResultSet DatabaseMetaData getColumns(String catalog,String schema,String tableName,String columnName)
参数说明:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
参数columnName : 列名称
四、方法getPrimaryKeys的用法
功能描述:得到指定表的主键信息。
原型:
ResultSet DatabaseMetaData getPrimaryKeys(String catalog,String schema,String tableName)
参数说明:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
备注:一定要指定表名称,否则返回值将是什么都没有。
五、方法.getTypeInfo()的用法
功能描述:得到当前数据库的数据类型信息。
六、方法getExportedKeys的用法
功能描述:得到指定表的外键信息。
参数描述:
参数catalog : 类别名称
参数schema : 用户方案名称
参数tableName : 数据库表名称
DatabaseMetaData对象提供的是关于数据库的各种信息,这些信息包括:
1、数据库与用户,数据库标识符以及函数与存储过程。
2、数据库限制。
3、数据库支持不支持的功能。
4、架构、编目、表、列和视图等。
通过调用DatabaseMetaData的各种方法,程序可以动态的了解一个数据库。由于这个类中的方法非常的多那么就介绍几个常用的方法来给大家参考。
DatabaseMetaData实例的获取方法是,通过连接来获得的
Connection conn = //创建的连接。
DatabaseMetaData dbmd = Conn.getMetaData();
创建了这个实例,就可以使用他的方法来获取数据库得信息。首先是数据库中用户标识符的信息的获得,主要使用如下的方法:
getDatabaseProductName()用以获得当前数据库是什么数据库。比如oracle,access等。返回的是字符串。
getDatabaseProductVersion()获得数据库的版本。返回的字符串。
getDriverVersion()获得驱动程序的版本。返回字符串。
supportsResultSetType(ResultSet.resultype)是判定是否支持这种结果集的类型。比如参数如果是Result.TYPE_FORWARD_ONLY,那就是判定是否支持,只能先前移动结果集的指针。返回值为boolean,true表示支持。
上面介绍的只是几个常用的方法,这个类中还有很多方法,可以到jdk的帮助文档中去查看类java.sql.DatabaseMetaData。
这个类中还有一个比较常用的方法就是获得表的信息。使用的方法是:
getTables(String catalog,String schema,String tableName,String[] types),
这个方法带有四个参数,他们表示的含义如下:
String catalog——要获得表所在的编目。串“”””意味着没有任何编目,Null表示所有编目。
String schema——要获得表所在的模式。串“”””意味着没有任何模式,Null表示所有模式。该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String tableName——指出要返回表名与该参数匹配的那些表,该参数可以包含单字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String types——一个指出返回何种表的数组。可能的数组项是:”TABLE”,”VIEW”,”SYSTEM TABLE”,”GLOBAL TEMPORARY”,”LOCAL TEMPORARY”,”ALIAS”,“SYSNONYM”。
通过getTables()方法返回一个表的信息的结果集。这个结果集包括字段有:TABLE_CAT表所在的编目。TABLE_SCHEM表所在的模式,TABLE_NAME表的名称。TABLE_TYPE标的类型。REMARKS一段解释性的备注。通过这些字段可以完成表的信息的获取。
还有两个方法一个是获得列getColumns(String catalog,String schama,String tablename,String columnPattern)一个是获得关键字的方法getPrimaryKeys(String?catalog, String?schema, String?table)这两个方法中的参数的含义和上面的介绍的是相同的。凡是pattern的都是可以用通配符匹配的。getColums()返回的是结果集,这个结果集包括了列的所有信息,类型,名称,可否为空等。getPrimaryKey()则是返回了某个表的关键字的结果集。
通过getTables(),getColumns(),getPrimaryKeys()就可以完成表的反向设计了。主要步骤如下:
1、通过getTables()获得数据库中表的信息。
2、对于每个表使用,getColumns(),getPrimaryKeys()获得相应的列名,类型,限制条件,关键字等。
3、通过1,2获得信息可以生成相应的建表的SQL语句。
通过上述三步完成反向设计表的过程。
相关推荐
在这个场景中,我们主要关注的是如何"读取数据库信息及显示",以及如何将数据显示在DataGridView控件中,并且能够将其导出为Excel文件。以下是关于这些知识点的详细说明: 1. **MySQL数据库**:MySQL是一种广泛使用...
本篇将详细介绍如何在Android中读取SQLite数据库信息,以帮助开发者更好地理解和操作数据。 首先,我们需要在Android项目中创建一个SQLite数据库。这通常通过实现`SQLiteOpenHelper`类的子类来完成。`...
将数据库信息读取到xml中,部分代码 public class schemeXml { static Connection conn=null; static String sql; public static void main(String[] args) { try { //链接数据库,取得数据 //Class.forName(...
在标题"FLASH读取数据库内容"中,我们关注的是如何使用Flash与后端数据库进行交互,获取并显示数据。这一过程涉及到多个技术点,包括ActionScript编程、数据通信协议、服务器端处理以及数据库连接等。 首先,Flash...
Visual C++源代码 157 如何读取数据库记录的图像字段Visual C++源代码 157 如何读取数据库记录的图像字段Visual C++源代码 157 如何读取数据库记录的图像字段Visual C++源代码 157 如何读取数据库记录的图像字段...
Unity3D 读取数据库向 gameobject 添加数据 Unity3D 是一个功能强大且流行的游戏引擎,它提供了许多有用的功能来帮助开发者快速构建游戏。其中,Unity3D 的数据存储和读取是游戏开发中非常重要的一方面。在本篇...
在今天的分享中,我们将深入探讨如何使用Python语言读取数据库中的数据,并将这些数据进行绘图。这个实例非常具有参考价值,尤其是对于那些希望通过编程获取数据可视化结果的初学者而言。首先,我们需要了解的是,要...
连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。...mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。
例如,可以使用PLC读取数据库中的状态信息,根据这些信息执行控制逻辑,或者将PLC采集的数据写入数据库进行存储和分析。这种集成不仅提高了生产效率,还增强了数据分析和故障诊断能力。 总结来说,KEPServer通过...
JDBC读取数据库元数据,生成JAVA实体类
"读取数据库表生成SQL脚本.zip"这个文件包显然提供了一个小工具,它可以帮助用户方便地从数据库中读取表格信息并自动生成相应的SQL脚本。这在数据迁移、备份、或者进行数据库结构分析时非常实用。下面将详细讨论相关...
从结构上看,Unity3D想要拿数据库的数据,问Web拿就可以了,而对数据库的操作已经外包给Web了,不用你操心。是的,理论上的东西看上去就是这么简单。Web对数据库的操作完全是没问题的,前提是大家如果会Asp.net,...
在Java编程环境中,读取数据库表并将其转换为SQL文件是一项常见的任务,特别是在数据迁移、备份或测试场景中。下面将详细介绍如何实现这个过程,并基于给出的标题和描述进行讲解。 1. **配置文件读取**: 首先,...
Java 读取 PI 数据库测点值 Java 读取 PI 数据库测点值是指使用 Java 语言直接读取 PI 数据库中的测点值。PI 数据库是 OSIsoft 公司开发的一种工业数据管理系统,广泛应用于工业自动化、能源、交通、医疗等领域。 ...
标题“VB读取数据库测试程序”表明这是一个使用Visual Basic 6.0(VB6.0)编写的程序,它的主要功能是与数据库进行交互。在这个程序中,开发者通过编写代码来实现从数据库中检索数据,并将这些数据展示在文本文档中...
使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库使用python读取mysql数据库...
在描述中提到的“读取数据库中的内容”,这涉及到数据库连接的建立。通常,这需要使用特定的API或库,比如ADO (ActiveX Data Objects) 或 ODBC (Open Database Connectivity)。通过这些接口,程序可以创建数据库连接...
源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版.zip 源代码-Flash+JS图片切换轮换特效ASP读取数据库版....
在 Delphi 开发环境中,读取数据库记录中的图像通常涉及到几个关键步骤,包括连接数据库、查询数据、处理图像字段以及显示或保存图像。以下是一份详细的教程,将指导你如何在 Delphi 中实现这一功能。 1. **连接...