MySQL – Consultas básicas (I): SELECT e INSERT INTO

Siguiendo con el lenguaje SQL, y más concretamente usando MySQL, en este post voy a mostrar unas cuantas consultas de las más comunes y a la vez más útiles que tendremos que utilizar. Te recuerdo que también escribí tiempo atrás una entrada con los comandos para crear bases de datos y tablas.

Evidentemente puedes usar cualquier base de datos que tengas, pero si quieres seguir exactamente los ejemplos con los mismos datos que yo estoy utilizando, puedes descargar este archivo SQL. Cuando ejecutes el script tendrás la base de datos dbJuegos funcionando en tu equipo. Te recomiendo que eches un vistazo a mi anterior post sobre cómo crear y restaurar backups de bases de datos MySQL.

Para ejecutar las consultas puedes usar directamente el shell de MySQL o hacer uso de MySQL Workbench. Yo prefiero este último método, pues es mucho más cómodo de utilizar y más agradable a la vista 😉

Mostrar todos los registros

La consulta más sencilla es una de las más útiles, pues te muestra todos los registros de una o varias de las tablas de la base de datos. Su sintaxis es:

En nuestra base de datos:

Esto nos mostraría lo siguiente en workbench:
Mostrar todos los resultados

Como verás, las columnas idgenero e idplataf sólo muestran los índices. Al final veremos una versión modificada de esta consulta para que salga más entendible. Mientras tanto, te invito a que hagas las correspondientes consultas sobre las tablas tblgeneros y tblplataf para ver qué géneros y plataformas corresponden cada uno de los índices.

Insertar un nuevo registro

Usamos la siguiente sintaxis para el comando INSERT INTO:

Ahora queremos insertar en nuestra base de datos un juego cuyo titulo es ‘Blood of old’ (los campos de tipo texto los encerramos entre comillas simples), que es del género arcade (idgenero 1) y de la plataforma Steam (idplataf 1). La nota de gamerankings es 0.00 (porque no existe) y en el campo terminado también le ponemos un 0 porque no nos lo hemos pasado aún (si ponemos un 1 significa que ya lo hemos terminado). La consulta definitiva sería la siguiente:


Ufff… se me está quedando mucho más largo de lo que pensé en un principio. Dejo para próximaS entregaS los comandos para actualizar o eliminar un registro ya existente, así como el uso de las cláusulas WHERE y ORDER BY, que resultan indispensables.

¡Ah! Ahora ejecuta la siguiente consulta para ver todos los registros y fíjate en las columnas que contienen el género y la plataforma:

Mostrar todos los registros en potito

MySQL – Instalar Conector Java JDBC (Sólo JAR)

Si bien aquí te decía que instalaras el MySQL JDBC Connector a través del web installer porque resultaba más cómodo, al escribir el otro post de hoy me he dado cuenta de que te haría falta acceder directamente al archivo .JAR. Esto significa que debes descargar la versión “Platform Independent” del conector.

No te apures, sigue estos sencillos pasos y lo tendrás listo rápidamente.

    1. Vamos a www.mysql.com
    2. Pestaña Downloads
    3. Sección Community
    4. Subsección MySQL Connectors
    5. Click en Connector J
    6. En “Select Platform” elegimos la opción “Platform Independent”.
    7. Pinchamos en el botón Download de la opción .ZIP
    8. Después extraemos el archivo .jar en una carpeta que nos interese para que sea fácilmente localizable a la hora de incluirlo en nuestros proyectos.

Java – Conectar a base de datos MySQL

En las semanas anteriores he comentado cómo instalar MySQL. También creamos una base de datos de ejemplo. Ahora es el momento de conectar a dicha base de datos desde código java. Por si las moscas, a continuación te digo qué posts de los que ya he publicado te van a hacer falta:

Conectar a una base de datos MySQL desde Java, usando el Conector J MySQL (JDBC)

Básicamente los pasos a seguir para lograr la conexión desde un proyecto Java a una base de datos MySQL son los que describo en el esqueleto de código siguiente.

A tener en cuenta

  • Se debe añadir la librería del conector al proyecto. En Eclipse:
    • Botón derecho sobre el nombre del proyecto – Build path – Configure Build path
    • Pestaña Libraries – Add External JARs
    • Navegar hasta donde tenemos nuestro JAR (mysql-connector-java-5.1.32-bin es la última versión en estos momentos) y Aceptar.
  • En el paso 3, cuando creamos el objeto Connection, deberemos sustituir los parámetros por los que correspondan, en este orden: dirección_url_conexión_jdbc, usuario, contraseña
  • En el paso 5 podemos crear tantos objetos ResultSet como necesitemos. En este caso simplemente recupero todos los registros que existen en la tabla tbljuegos, pero la sentencia SQL puede ser cualquier otra, evidentemente.
  • En el paso 6 obtenemos los datos que ya se encuentran en el ResultSet. Es muy importante usar el comando correcto. Por ejemplo: getInt() para recuperar datos de tipo entero, o getString() para datos de tipo VARCHAR. Entre paréntesis podemos indicar el nombre de la columna o campo entre comillas, o bien indicar el índice correspondiente a la columna. Ojo, este índice está basado en 1. Es decir, la primera columna sería el índice 1, la segunda el 2, etc…

Siguiendo este esquema, no deberías encontrar problemas para trabajar con tu base de datos MySQL. En cualquier caso no te preocupes. Estoy preparando un tutorial para crear un proyecto en Eclipse paso a paso, y estará listo dentro de poco. Hasta la próxima.

MySQL – Uso de Workbench

Continuando con la serie de posts iniciados el pasado 12 de agosto, ahora es turno de aprender a manejar, al menos de forma básica, MySQL Workbench. Para ello, vamos a crear nuestra propia base de datos e introduciremos algunos datos. Además, en siguientes posts aprenderemos cómo acceder a dichos datos desde código (bien sea en Java o Visual Basic).

Iniciar MySQL Server

Antes de iniciar MySQL Workbench tenemos que asegurarnos de que tenemos el servicio MySQL en ejecución. Esto se puede comprobar con un simple vistazo al icono de MySQL Notifier.

Si como yo hice, elegiste que Notifier NO se iniciara en el arranque de Windows, ahora tendrás que buscarlo y ejecutarlo:

Cuando aparezca el icono en la bandeja del sistema podremos ver el estado de MySQL Server:

Necesitamos que se encuentre en ejecución. Si no es tu caso, simplemente haz clic con el botón derecho sobre el icono, elige la opción “MySQL (…) – Stopped“, y luego “Start“:

Nos saldrá un mensaje advirtiéndonos de que el servicio a pasado a estar activo.

Inicio e interfaz de Workbench

Cuando ya está MySQL Server en ejecución podremos ejecutar Workbench. Por defecto nos va a salir la conexión a nuestra máquina local (localhost) usando el puerto 3306:

Haremos clic sobre esta conexión y nos pedirá el password que definimos cuando instalamos Workbench. Introducimos la contraseña y aceptamos, con lo cuál nos aparecerá la pantalla principal de Workbench, que se divide en 4 grandes bloques:

  • Parte superior: Menús de comandos y barra de iconos.
  • Parte izquierda: “Navegador”, donde elegiremos sobre qué parte de la base de datos queremos trabajar (servidor, usuarios, tablas, etc…).
  • Parte central: “Consultas”, donde escribiremos las sentencias SQL que deseamos ejecutar.
  • Parte inferior: “Salida”, donde se mostrarán los resultados tras ejecutar las sentencias SQL.

Crear una nueva base de datos

Aviso: todo lo que voy a contar a partir de este punto se puede realizar empleando el lenguaje SQL. De hecho, yo lo prefiero. Sin embargo, me gustaría dedicar un par de posts exclusivamente a este lenguaje, y por ello ahora me limitaré a emplear la manera visual.

    • Hacemos clic derecho sobre una (cualquiera) de las bases de datos que aparecen en la sección “SCHEMAS“, y elegimos la opción “Create schema“:
    • Name: a nuestra base de datos la vamos a llamar “dbjuegos“, y pulsamos “Apply“. Nos aparecerá el código SQL correspondiente. Volvemos a pulsar “Apply” y luego “Finish”.
    • Comprobamos que efectivamente se ha creado la nueva base de datos, que debería aparecer dentro de la sección “SCHEMAS“:

Crear una tabla

      1. Seleccionamos la base de datos “dbjuegos” haciendo doble click sobre su nombre, en la sección “SCHEMAS“. Veremos que se pone en negrita para indicar que ahora estamos trabajando sobre ella. Además, se expandirá su contenido.
      2. Dentro de “dbjuegos” hacemos clic derecho sobre “Tables” y elegimos la opción “Create Table“.
      3. Definimos el nombre de la tabla en “Table Name“. Yo la he llamado tbljuegos. En “Collation” y “Engine” dejamos las opciones que vienen por defecto.
      4. Ahora definimos los campos (o columnas) que tendrá la tabla. Simplemente haremos doble clic sobre la celda justo debajo de “Column Name” y nos permitirá editar su contenido. Con Tabulador o con el ratón podemos desplazarnos para elegir el tipo de dato (Datatype) o el resto de opciones, cuya explicación dejo para más adelante. De momento, nos basta con definir los siguientes campos:

      5. Cuando tengamos los campos definidos pulsamos en “Apply“, “Apply” de nuevo, y “Finish“. Si nos fijamos, a la izquierda y colgando de “Tables” ya tenemos nuestra nueva tabla “tbljuegos“.

Introducir datos en la tabla

      1. Clic derecho sobre “tbljuegos” en la sección “SCHEMAS” y elegimos la opción “Select Rows – Limit 1000“. Esta instrucción nos muestra los 1000 primeros registros (o filas) de la base de datos.
      2. En la parte principal de la pantalla aparecerán hasta los 1000 primeros registros que tengamos introducidos hasta ahora (es decir, cero xD) en forma de tabla. Haciendo doble clic sobre una celda podremos editar su contenido.
        OJO: El campo “id” lo había definido como “AI” (Autoincrementable), así que mejor no introduzcas NADA manualmente en él (en realidad sí puedes introducir un número entero como ID, pero te recomiendo que no lo hagas para evitar potenciales problemillas 😉 ).
      3. Desplazándonos con Tabulador o haciendo doble click con el ratón terminamos de rellenar nuestra tabla tbljuegos. A mí me ha quedado así:
      4. Apply“, de nuevo “Apply” y “Finish” para finalizar.

Y ya tenemos nuestra primera base de datos MySQL, con una sencilla tabla y unos cuantos registros. Todo ello creado de forma visual en Workbench. Mientras esperas al próximo post sobre MySQL te recomiendo que vayas haciendo pruebas sobre esta table y base de datos. Puedes aprender mucho simplemente haciendo clic derecho sobre los diferentes elementos que te aparecen en pantalla.

Eso es todo por hoy. Espero que te esté resultando interesante. Ya sabes que espero tu feedback como agua de mayo 😀