una saber obtener nombre mostrar hacer existe ejemplos ejemplo desde datos consultas como columna java mysql jdbc

saber - obtener nombre columna resultset java



Cómo verificar si una base de datos particular en mysql ya existe usando java (4)

En las versiones más nuevas de MySQL (5 y superiores) ejecute esta consulta:

SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = ''[database name]'' AND table_name = ''[table name]'';

Si el resultado es 1, existe.

En Java JDBC se vería algo como esto:

// Create connection and statement String query = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema''[database name]'' AND table_name = ''[table name]''"; ResultSet rs = stmt.executeQuery(query); rs.next(); boolean exists = rs.getInt("COUNT(*)") > 0; // Close connection, statement, and result set. return exists;

Hola a todos soy nuevo en jdbc y quería saber si hay una forma de verificar si una base de datos en particular ya existe en mysql.

Digamos que quería crear una base de datos llamada students, si la base de datos de los estudiantes ya está creada en mysql, un mensaje de error en eclipse indicaría que esta base de datos ya existe. Sin embargo, lo que quería hacer es crear un método booleano para verificar si la base de datos de estudiantes ya existe. Si existe, entonces el método booleano devolvería falso; de lo contrario, es verdadero, entonces puedo crear una base de datos de estudiantes. ¿Cómo hago esto en Java? ¿Hay algún método en jdbc que haga esto o necesito codificarlo desde cero? Gracias por tu ayuda.

EDIT 2

Seguí la sugerencia de mguymons y esto es lo que surgió

public boolean checkDBExists(String dbName){ try{ Class.forName(JDBCDriver); //Register JDBC Driver System.out.println("Creating a connection..."); conn = DriverManager.getConnection(DBURL, USER, PASS); //Open a connection ResultSet resultSet = conn.getMetaData().getCatalogs(); while (resultSet.next()) { String databaseName = resultSet.getString(1); if(databaseName.equals(dbName)){ return true; } } resultSet.close(); } catch(Exception e){ e.printStackTrace(); } return false; }


Lo haces de regreso al frente. La técnica correcta es intentar crearla y atrapar la excepción. La forma en que desea hacerlo está sujeta a los problemas de la ventana de tiempo: no estaba allí cuando realizó la prueba, pero estaba allí cuando intentó crearla. Y todavía tienes que atrapar la excepción de todos modos.


Puede obtener esa información de una conexión JDBC utilizando DatabaseMetaData # getCatalogs , aquí hay un ejemplo de cómo obtener los catálogos, también conocido como Database names

// Connection connection = <your java.sql.Connection> ResultSet resultSet = connection.getMetaData().getCatalogs(); //iterate each catalog in the ResultSet while (resultSet.next()) { // Get the database name, which is at position 1 String databaseName = resultSet.getString(1); } resultSet.close();


show databases like ''students''

Si recuperas una fila, existe.