-
Inicio
-
Curso
-
Bases de datos
-
Crear base de datos en memoria
Crear base de datos en memoria
jueves, 26 de octubre de 2023
⁃
Dificultad:
Intermedio
Objetivo
Crea un programa en Java que cree una base de datos en memoria de SQLite versión 3 con dos tablas (Persona y Profesor). Utiliza las instrucciones SQL de la entrada para crear las tablas.
Para conectar con SQLite abre una nueva conexión en memoria, después crea un nuevo comando utilizando el objeto SQLiteCommand
y por último ejecuta el comando una vez para cada tabla.
Recuerda que para conectar a SQLite necesitarás la referencia de System.Data.SQLite, la puedes obtener desde la página oficial o instalarla directamente en tu proyecto utilizando el administrador de paquetes Nuguet, ejecutando el siguiente comando en la consola:
Install-Package System.Data.SQLite -Version 1.0.112
La cadena de conexión necesaria para conectar en memoria es la siguiente:
Data Source=:memory:;Version=3;New=True;
Entrada
create table persona (nombre varchar(20), edad int)
create table profesor (nombre varchar(20))
Salida
Solución
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CrearBaseDatosMemoriaSQLite {
public static void main(String[] args) {
String cadenaConexion = "jdbc:sqlite::memory:";
crearTablas(cadenaConexion);
}
public static void crearTablas(String cadenaConexion) {
Connection conexion = null;
Statement sentencia = null;
try {
Class.forName("org.sqlite.JDBC");
conexion = DriverManager.getConnection(cadenaConexion);
conexion.setAutoCommit(false);
sentencia = conexion.createStatement();
String crearTablaPersona = "CREATE TABLE persona (nombre TEXT, edad INT)";
sentencia.executeUpdate(crearTablaPersona);
String crearTablaProfesor = "CREATE TABLE profesor (nombre TEXT)";
sentencia.executeUpdate(crearTablaProfesor);
sentencia.close();
conexion.commit();
conexion.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CrearBaseDatosMemoriaSQLite {
public static void main(String[] args) {
String cadenaConexion = "jdbc:sqlite::memory:";
crearTablas(cadenaConexion);
}
public static void crearTablas(String cadenaConexion) {
Connection conexion = null;
Statement sentencia = null;
try {
Class.forName("org.sqlite.JDBC");
conexion = DriverManager.getConnection(cadenaConexion);
conexion.setAutoCommit(false);
sentencia = conexion.createStatement();
String crearTablaPersona = "CREATE TABLE persona (nombre TEXT, edad INT)";
sentencia.executeUpdate(crearTablaPersona);
String crearTablaProfesor = "CREATE TABLE profesor (nombre TEXT)";
sentencia.executeUpdate(crearTablaProfesor);
sentencia.close();
conexion.commit();
conexion.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
}
}
Haz clic aquí para ver la solución del ejercicio
Compártelo
Compártelo en tus redes sociales y desafía a tus amigos a resolver problemas de programación. Juntos, podemos aprender y crecer.
Copiado
El codigo se ha copiado correctamente en el portapapeles.