mysql databasemetadata_DatabaseMetaData和ResultSetMetaData接口获取元数据的方法

mysql databasemetadata_DatabaseMetaData和ResultSetMetaData接口获取元数据的方法DatabaseMeta 和 ResultSetMet 就是两个常用的获取数据库元数据相关信息的接口 本文讲解 DatabaseMeta 和 ResultSetMet 接口获取元数据的方法 packagewww wlkankan com importjava sql Connection importjava sql DatabaseMeta importja

DatabaseMetaData和ResultSetMetaData就是两个常用的获取数据库元数据相关信息的接口,本文讲解DatabaseMetaData和ResultSetMetaData接口获取元数据的方法。

package www.wlkankan.com;

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

public class testMatadata {

public static void main(String[] args) {

Connection conn=null;

//1. JDBC连接MYSQL的代码很标准。

String DRIVER=”com.mysql.jdbc.Driver”;

String URL=”jdbc:mysql://127.0.0.1:3306/test”;

String USER=”root”;

String PASSWORD=”root”;

try {

//1.加载驱动程序

Class.forName(DRIVER);

//2.获得数据库链接

conn=DriverManager.getConnection(URL, USER, PASSWORD);

DatabaseMetaData dbmd = conn.getMetaData();

ResultSet rs = null;

System.out.println(“数据库已知的用户: “+ dbmd.getUserName());

System.out.println(“数据库的系统函数的逗号分隔列表: “+ dbmd.getSystemFunctions());

System.out.println(“数据库的时间和日期函数的逗号分隔列表: “+ dbmd.getTimeDateFunctions());

System.out.println(“数据库的字符串函数的逗号分隔列表: “+ dbmd.getStringFunctions());

System.out.println(“数据库供应商用于 ‘schema’ 的首选术语: “+ dbmd.getSchemaTerm());

System.out.println(“数据库URL: ” + dbmd.getURL());

System.out.println(“是否允许只读:” + dbmd.isReadOnly());

System.out.println(“数据库的产品名称:” + dbmd.getDatabaseProductName());

System.out.println(“数据库的版本:” + dbmd.getDatabaseProductVersion());

System.out.println(“驱动程序的名称:” + dbmd.getDriverName());

System.out.println(“驱动程序的版本:” + dbmd.getDriverVersion());

System.out.println(“数据库中使用的表类型”);

rs = dbmd.getTableTypes();

while (rs.next()) {

System.out.println(rs.getString(“TABLE_TYPE”));

}

// 获取连接

PreparedStatement pstmt = conn.prepareStatement(“select * from test.user “);

rs = pstmt.executeQuery();

// 得到结果集元数据

//目标:通过结果集元数据,得到列的名称

ResultSetMetaData rs_metaData = rs.getMetaData();

while (rs.next()) {

int count = rs_metaData.getColumnCount();

for (int i=0; i

// 得到列的名称

String columnName = rs_metaData.getColumnName(i + 1);

// 获取每一行的每一列的值

Object columnValue = rs.getObject(columnName);

System.out.print(columnName + “=” + columnValue + “,\n”);

}

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

输出

数据库已知的用户: root@localhost

数据库的系统函数的逗号分隔列表: DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION

数据库的时间和日期函数的逗号分隔列表: DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR,HOUR,MINUTE,SECOND,PERIOD_ADD,PERIOD_DIFF,TO_DAYS,FROM_DAYS,DATE_FORMAT,TIME_FORMAT,CURDATE,CURRENT_DATE,CURTIME,CURRENT_TIME,NOW,SYSDATE,CURRENT_TIMESTAMP,UNIX_TIMESTAMP,FROM_UNIXTIME,SEC_TO_TIME,TIME_TO_SEC

数据库的字符串函数的逗号分隔列表: ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CONCAT_WS,CONV,ELT,EXPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LCASE,LEFT,LENGTH,LOAD_FILE,LOCATE,LOCATE,LOWER,LPAD,LTRIM,MAKE_SET,MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE,REPEAT,REPLACE,REVERSE,RIGHT,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,SUBSTRING,SUBSTRING,SUBSTRING,SUBSTRING_INDEX,TRIM,UCASE,UPPER

数据库供应商用于 ‘schema’ 的首选术语:

数据库URL: jdbc:mysql://127.0.0.1:3306/test

是否允许只读:false

数据库的产品名称:MySQL

数据库的版本:5.7.26-log

驱动程序的名称:MySQL Connector Java

驱动程序的版本:mysql-connector-java-5.1.32 ( Revision: -848-mlwabor66widht1n )

数据库中使用的表类型:

LOCAL TEMPORARY

SYSTEM TABLE

SYSTEM VIEW

TABLE

VIEW

user_id=1,

user_name=fanny,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232926.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [小改进]个人Blog首页显示随笔摘要

    [小改进]个人Blog首页显示随笔摘要

    2021年7月22日
    77
  • 谷歌地球Google Earth打不开的解决办法[通俗易懂]

    谷歌地球Google Earth打不开的解决办法[通俗易懂]从2020年11月20号左右,谷歌地球中国服务器全部关停,所有原来可以使用的hosts,全部不能使用了,导致原来可以在电脑上打开谷歌地球的,现在全部提示无网络,如下图:这个是谷歌地球的最新版,一样打不开:解决办法,尝试了,国内所有的有关谷歌地图的软件。唯一现在可以使用的:BIGEMAP如下图分下下载地址,大家可以安装来试一试,免费可用:http://download.bigemap.com/bmsetup.rar欢迎留言,提供更多谷歌地球的信息…

    2026年1月27日
    5
  • 敏感词过滤算法:前缀树算法

    敏感词过滤算法:前缀树算法背景平时我们在逛贴吧、牛客网的时候,我们经常可以看到一些形如“***”的符号,通过上下文,我们也可以很容易猜到这些词原来是骂人的话,只是被系统和谐了。那么这是如何实现的呢?作为普通人,我们最先想到的一种办法就是把所有敏感串存入一个列表中,然后用户每发一条内容后台就把该内容与敏感串列表的每一项进行匹配,然后把匹配的字符进行和谐。显然这样的效率是很低的。非常影响性能,那么我们有没有其他的算法…

    2022年6月6日
    47
  • mysql官网下载_mysql的jdbc的jar包

    mysql官网下载_mysql的jdbc的jar包1、在百度搜索mysql,点击mysql官网上下载mysql的地址在url直接输入mysql的下载地址也可以:https://dev.mysql.com/downloads/mysql/如图:

    2022年8月2日
    10
  • Java多维数组声明格式

    Java多维数组声明格式刷题目再次遇到了声明这种最基本形式的考题,以此记录,共勉。关于多维数组声明的形式你知道哪几种呢?首先先上一个错误的例子:这里arr9-arr11在等式右边都错误的在中括号中加了数组大小,导致报错;而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错。正确的声明形式如下:本质上arr0、arr4和arr3、arr8是一样的;而arr1-2和arr5-…

    2022年5月5日
    41
  • qt 当前窗口句柄_QT获取窗口句柄

    qt 当前窗口句柄_QT获取窗口句柄mac安装paramiko$brewinstallopenssl$/usr/local/opt/openssl/bin/c_rehash$exportARCHFLAGS=”-archx86_64&q…用Canvas制作剪纸效果在做剪纸效果之前,先介绍剪纸效果运用到的一些知识:1.阴影:在Canvas之中进行绘制时,可以通过修改绘图环境中的如下4个属性值来指定阴影…

    2022年7月14日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号