Crear tabla con Java JDBC
Hoy vamos a ver cómo podemos crear tabla con Java JDBC. Analizaremos los pasos que hay que dar para poder conectarnos a una base de datos mediante JDBC y conseguir crear una tabla.
Conectarse a la base de datos
Sección titulada «Conectarse a la base de datos»Lo primero que haremos para crear tabla con Java JDBC será conectarnos a la base de datos. Tenéis explicado en detalle cómo conectarnos a una base de datos con Java JDBC en “Conectarnos a una base de datos con JDBC”. En este caso vamos a utilizar una base de datos MySQL, pero podríamos utilizar cualquier tipo de base de datos.
Connection con = null;Properties props = new Properties();props.put("user", "usuario");props.put("password", "password");con = DriverManager.getConnection("jdbc:mysql://[localhost:3306/mibasedatos](http://localhost:3306/mibasedatos)", props);Vemos que utilizamos el método .getConnection() enviándole la cadena de conexión y un fichero de propiedades donde va la información del usuario y password.
Preparar la sentencia CREATE TABLE
Sección titulada «Preparar la sentencia CREATE TABLE»Lo siguiente será preparar la sentencia de creación de la base de datos. Vamos a utilizar la sentencia SQL CREATE TABLE. La estructura de la sentencia SQL CREATE TABLE es la siguiente:
CREATE TABLE nombre_tabla ( campo1 tipo_campo atributos, campo2 tipo_campo atributos, ...);Dónde los tipos de campos pueden ser:
- Cadenas: char, varchar,…
- Números: tinyint, smallint, int, bigint,…
- Fechas: date, datetime,…
- …
Y entre los atributos podemos tener diferentes alternativas como:
- NOT NULL: si queremos que el campo no pueda albergar nulos.
- AUTO_INCREMENT: si queremos que el número se incremente automáticamente.
- CURRENT_TIMESTAMP: para asignarle la fecha de la creación del registro
- …
Crear la tabla
Sección titulada «Crear la tabla»En este caso montaremos la siguiente sentencia SQL CREATE TABLE:
CREATE TABLE paises ( pais varchar(50) NOT NULL, acronimo CHAR(3), poblacion INT(20))Esta sentencia vamos a ponerla dentro de una clase PreparedStatement:
PreparedStatement stmt = null;stmt = con.prepareStatement("CREATE TABLE paises (pais varchar(50) NOT NULL, acronimo CHAR(3), poblacion INT(20))");Una vez creada pasaremos a ejecutarla:
stmt.execute();Gestionar excepciones
Sección titulada «Gestionar excepciones»Es importante saber que la ejecución de una sentencia SQL puede generar una SQLException, por lo cual el código anterior lo deberemos de poner dentro de un bucle try-catch.
try { stmt = con.prepareStatement("CREATE TABLE paises (pais varchar(50) NOT NULL, acronimo CHAR(3), poblacion INT(20))"); stmt.execute(); stmt.close();} catch (SQLException sqle) { System.out.println("Error en la ejecución: " + sqle.getErrorCode() + " " + sqle.getMessage());}De esta forma ya habremos conseguido crear tabla con Java JDBC.
Descarga el código de Crear tabla con Java JDBC
Se explica cómo crear tabla con Java JDBC conectándose a una base de datos MySQL y ejecutando sentencias SQL.
¿Qué clase se utiliza para conectarse a una base de datos en JDBC?
- A DatabaseConnection
- B DriverManager
- C ConnectionFactory
- D DBConnect