1、如何查取数据库中表的字段

场景再现:

 想要根据数据库中,表的字段生成 有序的字符串,用于自动插入sql时,避免数据插错列。

解决思路:

 网上搜索了一下发现都是用describe查询表结构的,并没有解决方案。突然意识到:既然describe的输出也是表的形式,大不了我用 describe查询后,再单独取它的第一列!

所以解决代码如下:

package com.neo.web;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class temp {
    public static void main(String[] args) throws SQLException {

        Connection conn = null;
        Statement stat = null;
        ResultSet resultSet = null;
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/heima";
        String username = "root";
        String password = "root";
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, username, password);
            stat = conn.createStatement();
            String sql = "describe product";
            resultSet = stat.executeQuery(sql);
            //开始获取表字段
            List<String> list = new ArrayList<>();//用于存放表字段
            while (resultSet.next()) {
                list.add(resultSet.getString(1));
            }
            System.out.println("pause");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();

        } finally {
            stat.close();
            conn.close();
        }

    }

}

测试结果: 

知识扩展: 

基本所有的数据库查询表结构用到:

 describe book

 

DB2的查询表结构的命令是

 describe table book

例如:  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值