MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?


結果セットの列名を取得するには、getMetaData()メソッドを使用する必要があります。 getMetadata()のプロトタイプは次のとおりです-

ResultSetMetaData getMetaData throws SQLException;

5つの列名を持つMySQLテーブルを作成します。テーブルを作成するためのクエリは次のとおりです-

mysql> create table javagetallcolumnnames
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> Age int,
   -> Salary float,
   -> Address varchar(100),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.34 sec)

以下は、ResultSetで列名を取得するJavaコードです。コードは次のとおりです-

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class GetAllColumnNames {
   public static void main(String[] args) {
      String JdbcURL="jdbc:mysql://localhost:3306/test?useSSL=false";
      String Username="root";
      String password="123456";
      Connection con=null;
      Statement stmt=null;
      ResultSet rs;
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         stmt=con.createStatement();
         rs = stmt.executeQuery("SELECT *FROM javagetallcolumnnames");
         ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
         int counter = md.getColumnCount();
         String colName[] = new String[counter];
         System.out.println("The column names are as follows:");
         for (int loop = 1; loop <= counter; loop++) {
            colName[loop-1] = md.getColumnLabel(loop);
            System.out.println(colName[loop-1]);
         }
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

これがコードのスナップショットです-

MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?

以下は出力です-

The column names are as follows:
Id
Name
Age
Salary
Address

これがサンプル出力のスナップショットです-

MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?


  1. MySQLで特定の列名を持つテーブルを見つける方法は?

    列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_

  2. Javaを使用してMySQLテーブルに1つの列のみを挿入するにはどうすればよいですか?

    Java-MySQL接続コードでINSERTINTOステートメントを使用して列を挿入します。 まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.54 sec) これは、MySQLテーブルに1つの列のみを挿入するJavaコードです。 例 import java.sql.Connection; import java.sql.Driv