`
一纸红颜岂值倾尽天下
  • 浏览: 27849 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

获取数据库信息表列名

    博客分类:
  • java
阅读更多
package org.data.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;


public class Jdbc {

	//数据库连接地址
	private static final String url="jdbc:mysql://localhost:3306/data";
	//用户名密码
	private static final String user="root";
	private static final String pwd="123456";

	/***
	 * 数据库查询
	 * @throws ClassNotFoundException 
	 */
	public static void query() throws ClassNotFoundException{
		Connection conn=null;
		java.sql.PreparedStatement pst=null;
		ResultSet re=null;
		/*
		 * DBC提供了DatabaseMetaData来封装数据库连接对应的数据库信息,通过Connection的getMetaData方法来获取该对象。
		 * DatabaseMetaData接口通常数据库驱动提供商完成实现,其作用是让用户了解数据库的底层信息。
		 * 使用该接口可以了解数据库底层的实现,便于完成多个数据库的相互切换。
		 */
		 DatabaseMetaData metadata=null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url, user, pwd);		
			
			metadata = conn.getMetaData();
			System.out.println("数据库已知的用户: "+ metadata.getUserName());   
	         System.out.println("数据库的系统函数的逗号分隔列表: "+ metadata.getSystemFunctions());   
	         System.out.println("数据库的时间和日期函数的逗号分隔列表: "+ metadata.getTimeDateFunctions());   
	         System.out.println("数据库的字符串函数的逗号分隔列表: "+ metadata.getStringFunctions());   
	         System.out.println("数据库供应商用于 'schema' 的首选术语: "+ metadata.getSchemaTerm());   
	         System.out.println("数据库URL: " + metadata.getURL());   
	         System.out.println("是否允许只读:" + metadata.isReadOnly());   
	         System.out.println("数据库的产品名称:" + metadata.getDatabaseProductName());   
	         System.out.println("数据库的版本:" + metadata.getDatabaseProductVersion());   
	         System.out.println("驱动程序的名称:" + metadata.getDriverName());   
	         System.out.println("驱动程序的版本:" + metadata.getDriverVersion());   
	         System.out.println("驱动程序的版本:" + metadata.getTableTypes());  
	         System.out.println("............................................");
	         pst= conn.prepareStatement("select * from customerinfo");
	         
	         //获取数据库列
	         re=pst.executeQuery();
	         //数据库列名
	         ResultSetMetaData data= re.getMetaData();
	         //getColumnCount 获取表列个数
	         for(int i=1;i<=data.getColumnCount();i++){
	        	 //获取列表 index 从1开始、列名、列类型、列的数据长度
	        	 System.out.println(data.getColumnName(i)+"\t"+data.getColumnTypeName(i)+"\t"+data.getColumnDisplaySize(i));
	         }
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			closeConnection(conn, pst, re);
		}   
	}
	

	/**
	 * 关闭数据库链接
	 * @param conn
	 * @param pst
	 * @param re
	 */
	public static void closeConnection(Connection conn,PreparedStatement pst,ResultSet re){
		
		if(conn!=null)
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		if(pst!=null)
			try {
				pst.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		if(re!=null)
			try {
				re.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	
	public static void main(String[] args) {
		try {
			query();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

0
0
分享到:
评论

相关推荐

    sqlmap使用方法

    --columns 获取表的列名 --dump 获取表中的数据,包含列 --dump-all 转存DBMS数据库所有表项目 --level 测试等级(1-5),默认为1 -v 显示详细信息 读取数据库---&gt;读取表----&gt;读取表的列----&gt;获取内容

    Sql查询MySql数据库中的表名和描述表中字段(列)信息

    主要介绍了Sql查询获取MySql数据库中的表名和描述表中列名数据类型,长度,精度,是否可以为null,默认值,是否自增,是否是主键,列描述等列信息

    mysql 查询表结构的2种 sql 语句.docx

    使用 DESCRIBE 语句可以获取表的结构信息。语法如下: DESCRIBE table_name; 例如,如果想要查询名为'customers'的表的结构,可以执行以下语 句: DESCRIBE customers; 这将返回一个包含列名、...

    mysql 查询表结构的2种 sql 语句.7z

    使用 DESCRIBE 语句可以获取表的结构信息。语法如下: DESCRIBE table_name; 例如,如果想要查询名为'customers'的表的结构,可以执行以下语 句: DESCRIBE customers; 这将返回一个包含列名、...

    论坛数据库系统设计.doc

    表1-3-1 BBSUsers 用户信息表 "表中列名 "数据类型 "可否为空 "说明 " "UID "Int "not null(主键) "用户编号 " "UName "char "not null "用户姓名 " "UPassword "char "not null "用户密码 " "UEmail "char "not ...

    计算机程序设计(Java)-教案--单元十--数据库编程技术.docx.docx

    以int的形式获取当前行中指定列名的值 StringgetString(intcolumnindex)throwsSQLException 以String的形式获取当前行中指定列索引的值 StringgetString(Stringcolumnindex)throwsSQLException 以String的形式获取...

    数据库操作语句大全(sql)

    10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:四表联查问题: select * from a left ...

    oracle查询表的所有列并用逗号隔开

    oracle查询表的所有列并用逗号隔开

    database-table-diff:一种快速比较来自多个来源(MySQL、PostgreSQL、SQLite)的数据库并查看表结构之间差异的方法

    当前状态:比较表名和表列名。特征节省比较数据库表结构的时间支持 MySQL、PostgreSQL、SQLite 不同数据库引擎之间的交叉比较易于设置和配置兼容 PHP 5.0 及更高版本为什么你可能需要它将数据库架构更改从开发迁移...

    C#开发经验技巧宝典

    0925 如何获取数据库中的全部存储过程 540 0926 如何正确认识触发器 541 0927 Update触发器在系统日志中的应用 542 0928 触发器的嵌套使用 542 0929 获取数据库中的触发器 543 19.12 其他 544 0930 在...

    python爬虫大作业,爬取豆瓣影评

    第二步:创建workbook对象,创建工作表,建立列名,将"评论链接", "电影名", "电影详情地址", "评论标题", "评论正文"写入数据并保存。 第三步:生成词云,将text进行分词,使用plt库展示图片,保存到文件。 第四步...

    python爬虫大作业爬取豆瓣影评

    第二步:创建workbook对象,创建工作表,建立列名,将"评论链接", "电影名", "电影详情地址", "评论标题", "评论正文"写入数据并保存。 第三步:生成词云,将text进行分词,使用plt库展示图片,保存到文件。 第四步...

    mysql数据库的基本操作语法

    MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息; 约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 常用五类约束: ...

    python爬虫大作业爬取豆瓣影评(高分期末大作业)

    第二步:创建workbook对象,创建工作表,建立列名,将"评论链接", "电影名", "电影详情地址", "评论标题", "评论正文"写入数据并保存。 第三步:生成词云,将text进行分词,使用plt库展示图片,保存到文件。 第四步...

    moa:MOA 实现动态生成的 Active Record 数据库抽象

    农业部 此项目不再维护。 MOA (Mother of All) ... builder 脚本使用从数据库中获取的属性(例如列名、类型、默认值等)为每个表生成一个文件。 这些类是动态生成的,以减少数据表示的手工编码重复量。 这是生成类的示

    sql注入工具sqlmap源代码+常用指令

    它可以测试目标站点是否存在SQL注入漏洞,并探测数据库类型、操作系统、表名、列名等信息,进而将这些信息自动化地利用来获取敏感数据或者拿下服务器等。 SQLMap具有丰富的功能和选项,例如支持多种数据库类型、...

    python获取近似值小工具

    只支持mysql环境, 源字典表名:填写需要对照源数据表名 ...上面为数据库连接信息,填写完成后点击按钮 会将源数据的字典及本地字典做近似值匹配并生成近似值分数存储在“get_valueapporx_sorce”表中

    C#编程经验技巧宝典

    115 &lt;br&gt;0192 如何获取“我的文档”系统文件夹路径 115 &lt;br&gt;0193 如何获取应用程序当前执行的路径 116 &lt;br&gt;0194 如何获取当前操作系统的信息 116 &lt;br&gt;0195 如何实现基本数据类型随意转换 116...

    Excel VBA技巧实例手册

    技巧057获取单元格的列名 技巧058设置自动筛选 技巧059遍历筛选结果 技巧060获取筛选的条件 第4章 使用Worksheet对象 4.1 操作工作表 技巧061插入工作表 技巧062复制工作表 技巧063统计工作表的个数 技巧064同时...

Global site tag (gtag.js) - Google Analytics