Cuando desarrollamos Software, en múltiples ocasiones debemos manejar datos e información de los usuarios, lo que implica la creación de la base de datos y las tablas necesarias para almacenar los registros, esta tarea se realiza antes del uso de la aplicación o en la instalación del Software, hoy veremos cómo podemos crear una base de datos MySQL desde Java, estableceremos conexión con el Servidor MySQL donde deseamos crear la BD, para dejar listo donde alojaremos nuestra información.
Crear una base de datos MySQL desde Java con tablas y registros
Para crear una base de datos MySQL desde Java seguiremos los siguientes pasos, es importante no saltarse ninguno de los descritos a continuación.
Creación del proyecto:
Lo primero que debemos hacer es crear un proyecto en Java Netbeans o en tu IDE favorito, tipo Java Aplication, con la siguiente interfaz en un JFrame.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Importar la librería para conectarnos a MySQL
Código fuente: Proyecto CRUD en Java MVC – con base de datos MySQL
Antes de escribir código, haremos el import de la librería necesaria para conectarnos a MySQL, esta es imprescindible, sin ella no podríamos establecer la conexión con la base de datos.
Luego buscamos la librería mysql-connector-java-5.1.18-bin.jar.
Conexión de la base de datos:
Para esto crearemos una clase «Conexion.java» que contendrá los parámetros de conexión a la base de datos, veamos:
Código de Conexion.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package bdmysqljava; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; /** * * @author DeveloperTwo */ public class Conexion { public Connection conexion; public Statement sentencia; public ResultSet resultado; public void ConectarBasedeDatos(String bd){ try { final String Controlador = "com.mysql.jdbc.Driver"; Class.forName( Controlador ); final String url_bd = "jdbc:mysql://localhost:3306/"; final String url_bd2 = "jdbc:mysql://localhost:3306/"+bd; if(bd.equals("")){ conexion = DriverManager.getConnection(url_bd,"root","root"); }else{ conexion = DriverManager.getConnection(url_bd2,"root","root"); } sentencia = conexion.createStatement(); } catch (ClassNotFoundException | SQLException ex) { JOptionPane.showMessageDialog(null,ex.getMessage(), "Excepcion", JOptionPane.ERROR_MESSAGE); } } public void DesconectarBasedeDatos() { try { if (conexion != null ) { if(sentencia != null) { sentencia.close(); } conexion.close(); } } catch (SQLException ex) { JOptionPane.showMessageDialog(null,ex.getMessage(), "Excepcion", JOptionPane.ERROR_MESSAGE); System.exit(1); } } public Connection getConnection(){ return conexion; } }
Si nos fijamos en la clase anterior no definimos una base de datos a la cual conectarnos y es un poco lógico, debido a que deseamos crear la base de datos desde Java.
Declaranto la variable para la conexión
public class Frm1 extends javax.swing.JFrame {
Conexion c = new Conexion();
El código anterior debes ubicarlo en la parte superior del código de tu formulario (JFrame).
Código del botón crear base de datos
Con el código anterior además de crear la base de datos habilitamos el botón para crear la tabla, ya que si no contamos con la base de datos creada no podríamos crear tablas.
Código del botón crear tabla
El código utilizado para la creación de la tabla es muy básico; definimos 4 campos y uno de ellos como llave primaria o primary key, podrás completar tu tabla con los códigos y comodines necesarios, luego habilitamos el botón para insertar registros.
Botón insertar registro
De igual manera podemos insertar todos los registros necesarios en la tabla, para efectos de este artículo solo insertamos 1.
Al ejecutar la aplicación podrás ver en tu servidor MySQL; la base de datos creada, la tabla y el registro dentro de ella.
Solo quedaría organizar las líneas de este proyecto para la correcta configuración del proyecto que llevas acabo.
Hola Iván.
Muchísimas gracias por compartir conocimiento.
Enorme este tutorial para los que empezamos en esto de la programación en java.
Una pregunta.
¿Se puede hacer esto mismo, desde una aplicación web con JSP, JPA y Servlet?
Saludos y Gracias.
Hola, gracias por tu comentario!, efectivamente puedes hacerlo también desde JSP, lo único que cambiaría es el llamado al método que deseas ejecutar, teniendo en cuenta que ya es una aplicación Web; sería desde un formulario o botón.
Saludos!
Una pregunta. Puedo solo crear tablas para una base de datos ya creada anteriormente en Mysql desde java. Quiero registrar(registros) diferentes años y por eso mi pregunta!!!
Hola Juan, normalmente uno crea tablas y registros en una base de datos ya creada; pero también puedes crear una base de datos nueva con el Software y utilizarla para crear nuevas tablas y registros, así como en este ejemplo.
Saludos!
Hola, tengo una actividad que resolver y no sé muy bien cómo hacerla, me puede colaborar por favor? Gracias
INPI (Infantiles Picaritos), es un negocio nuevo que pretende ofrecer películas y series en línea para niños. INPI lo acaba de contratar para realizar una primera implementación de una base de datos que permita administrar las películas y series. Para realizar esto, se tienen Contenidos, los cuales pueden ser Película o Serie. Una Película tiene un título, un resumen y el año. Mientras que una Serie tiene título, número de temporadas y número de episodios. Adicionalmente, cada película tiene un director (sólo uno), del cual se desea guardar su nombre, apellido y nacionalidad.
Con el nuevo negocio INPI, se desea tener el listado de Usuarios inscritos a la plataforma (el usuario tendrá nombres, apellidos, email, celular, alias, contraseña, y fecha de nacimiento. El alias o «username» será el identificador único), y un Registro de las Transmisiones de las series o películas que han sido visualizados por los usuarios en su respectiva fecha y hora.
Por ahora, los socios de este negocio, quieren que usted construya un modelo de datos que permita almacenar y consultar de manera eficiente toda la información necesaria para el funcionamiento del sistema. Esto quiere decir que usted debe construir:
El MER (Diagrama Entidad Relación) inicial,
Modelo Relacional
Código SQL para generar dichas tablas, e inserción de datos:
3.1 Crear los siguientes Contenidos (exactamente):
PELICULAS
Buscando a Nemo
Brave (Indomable)
Señora Doubtfire
Hotel Transilvania
Cómo entrenar a tu Dragón
Buscando a Nemo
Resumen: Aventura submarina que narra con humor el viaje que realiza Marlin, un sobreprotector pez payaso padre, en busca de su hijo Nemo, cuando este es llevado a la pecera de un dentista en Sídney. Una despistada y algo exasperante pez llamada Dory acompañará a Marlin en un viaje lleno de peligros inesperados y momentos muy divertidos.
Director: Andrew Stanton
Año: 2003
Brave (indomable)
Resumen: Mérida es una princesa poco habitual, monta a caballo y maneja el arco mejor que cualquier guerrero de su reino. Continuando la tradición, el Rey Fergus y la Reina Elinor quieren casarla con el hijo del rey de uno de los tres clanes aliados. Para saber quién será su futuro marido se celebra un torneo, donde los tres pretendientes demostrarán sus actitudes bélicas.
Negándose a ser un trofeo, Mérida escapa del reino y llega a la casa de una hechicera donde tomará una decisión que pondrá en peligro al reino y a su familia. Pero el valor y el coraje de esta joven pelirroja al enfrentarse a su destino, nos harán disfrutar de una gran aventura situada en las tierras mágicas de Escocia.
Directors: Mark Andrews
Año: 2012
Señora Doubtfire
Es la única película de la lista que no es de animación, además tiene ya unos años (1993), pero es una de las comedias más divertidas para disfrutar en familia. ¿Os imagináis una canguro de edad avanzada, que en realidad es el padre de los niños a los que cuida? Este es el papel que interpreta Robin Williams en esta película tan divertida que ganó un globo de oro al mejor actor y que actualmente está rodando una secuela.
Año 1993
Director: Chris Columbus
Hotel Transilvania
Cuando Mavis, la hija del legendario Drácula cumple 118 años su padre celebra una fiesta por todo lo alto. Para ello invita a todos los monstruos del mundo al hotel que regenta, un hotel muy especial construido para mantener ocultos y a salvo de los humanos a todos los monstruos. Pero un intrépido viajero de 21 años se cuela sin querer en el castillo durante el trascurso de la fiesta. ¿Cómo reacciona Drácula, cuando descubre que su hija se interesa por conocer a este “peligroso” humano?
Disfrutaréis de momentos muy divertidos a lo largo de esta película junto con hombres lobo, momias, zombis, un excéntrico hombre invisible y el mismísimo Frankenstein.
Año: 2021
Directoress: Jennifer Kluska
Cómo entrenar a tu Dragón
Hipo es el hijo del jefe de una tribu vikinga, pero es todo lo contrario a un vikingo, no le gustan las armas, es enclenque y bastante despistado. Su sueño es atrapar a un dragón de los que asolan su poblado, para así ganarse el respeto de los demás. Usando su ingenio construye un artefacto con el que atrapa sorprendentemente a uno de los dragones más peligrosos. El dragón terminará convirtiendose en su mejor amigo, y por este motivo Hipo se enfrentará a su padre, al poblado y a las ancestrales costumbres vikingas, pero les enseñará a todos una valiosa lección: las apariencias engañan.
Año: 2010
Directores: Dean DeBlois
SERIES
Peepa Pig
El pequeño reino de Ben y Holly
Pocoyó
Dora la exploradora
Los cuentos de Masha
Los Octonautas
La casa de Mickey Mouse
Vampirina
Peepa peg tiene 329 episodios y 7 temporadas
El pequeño reino de Ben y Holly tiene 50 episodios y 2 temporadas
Pocoyó tiene 50 episodios y 5 temporadas
Dora la exploradora tiene 178 episodios y 8 temporadas
Los cuentos de Masha tiene 6 episodios y 1 temporadas
Los Octonautas tiene 96 episodios y 1 temporadas
La casa de Mickey Mouse tiene 124 episodios y 5 temporadas
Vampirina tiene 75 episodios y 13 temporadas
3.2 Crear los siguientes Directores (exactamente):
Andrew Stanton que es canadiense
Mark Andrews que es estadounidense
Chris Columbus que es estadounidense
Jennifer Kluska que es rusa
Dean DeBlois que es frances
3.3 Crear los siguientes Usuarios (exactamente)- El primero es el alias y el segundo es su nombre y apellido. Los otros datos llenarlos libremente (recordar que el alias es la llave primaria):
lucky, Pedro Perez
malopez, Maria Lopez
diva, Ana Diaz
dreamer, Luis Rojas
ninja, Andres Cruz
neon, Nelson Ruiz
rose, Claudia Mendez
green, Jorge Rodriguez
3.4 Registrar las siguientes transmisiones de películas y series de los siguientes usuarios:
«lucky» vió «Buscando a Nemo» el ‘2017-10-25 20:00:00’
«lucky», vió «Brave (Indomable)» el ‘2019-03-15 18:30:00’
«lucky», vió «Señora Doubtfire» el ‘2019-05-20 20:30:00’
«malopez» vió «Buscando a Nemo» el ‘2018-05-20 20:30:00
«malopez» vió «Señora Doubtfire» el ‘2020-01-20 20:30:00
«diva» vió «Hotel Transilvania» el ‘2019-05-20 20:30:00
«diva» vió «Cómo entrenar a tu Dragón» el ‘2018-06-22 21:30:00
«diva» vió «Peepa Pig» el ‘2020-03-17 15:30:20’
«dreamer» vió «Peepa Pig» el ‘2020-03-17 15:30:20’
«dreamer», vió «Pocoyó» el ‘2020-04-10 18:30:20’
«ninja», vió «Dora la exploradora» el ‘2020-02-17 20:30:20’
«ninja» vió «Señora Doubtfire» el ‘2020-02-20 16:30:20’
«ninja» vió «El pequeño reino de Ben y Holly» el ‘2020-03-27 18:30:20’
«rose», vió «Los Octonautas» el ‘2020-03-20 21:30:20’
«green» vió «Hotel Transilvania» el ‘2020-01-10 17:30:20’
«green» vió «Brave (Indomable)» el ‘2020-02-15 20:30:20’
«green» vió «La casa de Mickey Mouse» el ‘2020-03-17 18:30:20’
NOTA: Para la creación de cada una de las tablas e inserción de datos generar un script de sql (Un script por cada tabla)
Ejemplo: Para crear la tabla director se debe crear el siguiente script:
create table director(
dir_id int primary key,
dir_nombre char(20),
dir_apellido char(20),
dir_nacionalidad char(40)
);
insert into director values (101, «Andrew»,»Stanton», «canadiense»);
insert into director values (102, «Mark», «Andrews», «estadounidense»);
insert into director values (103, «Chris», «Columbus», «estadounidense»);
insert into director values (104, «Jennifer», «Kluska», «rusa»);
insert into director values (105, «Dean», «DeBlois», «frances»);
Nota: No deje líneas en blanco antes del create
4. Código SQL para Modificar los siguientes datos:
4.1 Cambiar el año de la película «Buscando a Nemo» por 2012
4.2 Cambiar el teléfono del usuario «ninja» por 3115678432
4.3 Borrar la transmisión del usuario «green» de la película «Brave (Indomable)»
NOTA: Generar un archivo script sql para las modificaciones y borrados
5. Código SQL para realizar las siguientes consultas:
5.1 Mostrar la información del título de todas las películas y series ordenadas alfabéticamente.
5.2 Mostrar la información de las películas (título, resumen, año) que se han estrenado posteriormente al año 2000, ordenadas por título
5.3 Mostrar los títulos de películas dirigidas por el director Dean DeBlois
5.4 Mostrar la información de las series y películas ( solo los títulos) que ha visto un usuario con alias «lucky», ordenadas por título
5.5 Mostrar la información de los usuarios (alias y nombre y apellidos) que han visto la película «Hotel Transilvania» ordenados alfabéticamente
5.6 Mostrar cuantas películas se han estrenado después del año 2000
NOTA: Generar un archivo script sql para las consultas. Antes de cada consulta escribir SELECT ‘Consulta #’; donde # es el número de la consulta.
Ejemplo:
Select ‘Consulta 1’;
Select titulo from ….;
Select ‘Consulta 2’;
Select …..;
Select ‘Consulta 3’;
Select …..;