Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

Java로 MySQL 테이블의 열 수 계산

<시간/>

이를 위해 ResultSetMetaData를 사용하십시오. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentFirstName varchar(20),
   -> StudentLastName varchar(20)
   -> );
Query OK, 0 rows affected (0.58 sec)

자바 코드는 다음과 같습니다 -

예시

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class ResultSetDemo {
   public static void main(String[] args) {
      Connection con = null;
      PreparedStatement ps = null;
      Statement st = null;
      ResultSet rs = null;
      try {
         con = DriverManager.getConnection("jdbc:mysql://localhost:3306/web?useSSL=false", "root", "123456");
         String query = "select StudentId,StudentFirstName,StudentLastName from DemoTable";
         st = con.createStatement();
         rs = st.executeQuery(query);
         ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
         int numberOfColumn = rsmd.getColumnCount();
         System.out.println(" Number Of Columns: " + numberOfColumn);
         System.out.println("All Details Of Columns:");
         for (int i = 1; i <= numberOfColumn; i++) {
            String columnName = rsmd.getColumnName(i);
            String dataTypeOfColumn = rsmd.getColumnTypeName(i);
            System.out.println(columnName + " has data type " + dataTypeOfColumn);
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

출력

Number Of Columns: 3
All Details Of Columns:
StudentId has data type INT
StudentFirstName has data type VARCHAR
StudentLastName has data type VARCHAR

출력의 스냅샷은 다음과 같습니다 -

Java로 MySQL 테이블의 열 수 계산