java 获取mysql 某个数据库中所有表及表的列的信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 获取mysql 某个数据库中所有表及表的列的信息相关的知识,希望对你有一定的参考价值。

如题
获得表和字段信息.谢谢
读取视图呢?

获得某表所有列的信息:
String sql = select * from tname;//tname为某一表名
Connection conn = ....;
Statement st = conn.createStatement();
ResultSet rs = st.rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int colcount = rsmd.getColumnCount();//取得全部列数

for(int i=0;i<colcount;i++)
String colname = rsmd.getColumnName(i);//取得全部列名


以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:
ResultSet.executeQuery("show tables")可以的到所有的表信息。
ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名
p.s :同样适用于jsp。
参考技术A 这是我曾经做过的项目里面部分DB操作代码,看是否对你有帮助:
/** 数据库驱动 */
public String DB_driver = "com.mysql.jdbc.Driver";
/** 数据库位置 */
public String DB_URL = "jdbc:mysql://localhost:3306/";
/** 数据库名字 */
public String DB_name = "information_schema"
/** 数据库用户 */
public String DB_user = "root";
/** 数据库密码 */
public String DB_pswd = "123456";

/**
*初始化驱动器
*/
protected void initDriver()
try
Class.forName(DBDriverStr); //装载数据库驱动
Helper.logger.fine("数据库 驱动 加载成功");
catch (ClassNotFoundException e) //驱动加载失败
e.printStackTrace();
Helper.logger.severe("数据库驱动加载失败:\n" + e.toString());



/**
*新建一个数据库连接
*本方法不对外开发,只为本类服务
* @return Connection 一个数据库连接实例
*/
protected Connection getConnection()
Connection connection = null;
try
//以 DBUserNameStr,DBUserPswdStr 身份获取与数据库 DBURLStr 连接
connection =
DriverManager.getConnection(DBURLStr, DBUserNameStr, DBUserPswdStr);
//设置事务为非自动递交, 事务递交由上层调用完成
connection.setAutoCommit(false);
catch (SQLException e) //数据源查询失败
e.printStackTrace();
Helper.logger.severe("数据源加载失败:" + e.toString());


return connection;


获取到了与数据库的连接以后就很好办事了,只要做一些 SQL 查询了,借鉴一下一楼的代码:
//tables为 information_schema 数据库中记录表格信息的表
String sql = select * from tables";
Connection conn = getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int colcount = rsmd.getColumnCount();//取得全部列数
参考技术B 用元数据api,也在jdbc的包下面
===============================
视图如法炮制,java才不管你视不视图,视图不也是要返回结果集的吗?
参考技术C mysql中 有个information_schema的数据库 里面有个TABLES的表

这里面就包含了MYSQL 所有表的信息

至于表的字段具体信息我也不太清楚了

[数据库专题] MYSQL创建数据库及表

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题

在本内容将阐述怎样在Navicat for MySQL中建立数据库表及说明其设计原则。

方法

 1、数据库表的建立

第一步:用户安装好MySQL和Navicat for MySQL后,打开Navicat for MySql这个数据库管理工具,它是用来管理我们的数据库的创建,管理等操作,如下图所示。

第二步:首先建立好对应的数据库,再单击右键,建立表格。

第三步:新建表格,如下图所示。

以上是关于java 获取mysql 某个数据库中所有表及表的列的信息的主要内容,如果未能解决你的问题,请参考以下文章

sql server 删除表及表的相关视图存储过程方法

2020-10-22_ORACLE基本的SQL

通过pymysql和数据模型(models.py)创建mysql表及表结构

SQL复制表及表结构

[数据库专题] MYSQL创建数据库及表

java基础(28):数据库表及表数据SQL语句