Introducción

Esto es una pequeña gran introducción a MySQL desde la línea de comandos. Esto es lo que aprenderemos:

  • Crear y mostrar bases de datos
  • Eliminar bases de datos
  • Crear tablas
  • Eliminar tablas
  • Insertar datos
  • Eliminar datos
  • Vaciar tablas
  • Actualizar datos
  • Filtrar datos

Por hoy no nos vamos a preocupar por las relaciones o los motores de este sistema gestor de base de datos. Tampoco nos meteremos con los respaldos.

Nota: este tutorial supone que tenemos a mysql en la variable PATH del sistema. Si no, aquí hay un post sobre ello. Dependiendo de cómo hayamos instalado MySQL la ruta puede variar, si lo hicimos con XAMPP entonces está en C:\xampp\mysql\bin.

Si lo hicimos con workbench debe estar en archivos de programa y cambiará dependiendo de la versión que hayamos instalado. Una vez que esté en la variable PATH continuemos.

Sobre las mayúsculas y minúsculas

No hay un estándar en SQL que indique cómo interactuamos con el motor. Ya que “UPDATE tabla SET col = valor” y “UpDaTE tabla seT col = valor” son lo mismo.

Esto quiere decir que las mayúsculas y minúsculas no importan, el motor las entenderá igual. Eso sí, para los nombres de tablas, columnas y bases de datos debemos respetar la forma.

Introducción a la CLI de MySQL o MariaDB

Iniciar sesión

Para iniciar sesión o entrar a administrar MySQL debemos ejecutar el comando:

En donde usuario es el usuario que tenemos. No escribimos la contraseña, porque será preguntada al presionar Enter.

Adicionalmente si queremos conectarnos directamente a una base de datos al iniciar sesión podemos pasar otro argumento con el nombre de la misma, así:

En ese caso abriríamos una sesión y nos conectaríamos directamente a la base de datos llamada mi_base_de_datos

Por lo tanto, si yo quisiera conectarme a la tabla “sesiones” con el usuario root escribiría lo siguiente:

Lo que abriría una nueva sesión y seleccionaría dicha base de datos:

Iniciar sesión

Iniciar sesión

Mostrar bases de datos

Para mostrar las bases de datos existentes ejecutamos el siguiente comando:

Lo que nos dará una lista de las mismas:

Mostrar bases de datos existentes

Mostrar bases de datos existentes

Crear base de datos

Podemos crear una base de datos con el siguiente comando:

Si la creamos y después las listamos aparecerá nuestra nueva base de datos:

Crear base de datos

Crear base de datos

Eliminar base de datos

Para eliminar por completo una base de datos usamos el siguiente comando:

Está de más decir que no podremos recuperarla más tarde, y su eliminación será permanente.

Eliminar base de datos

Eliminar base de datos

Seleccionar base de datos

Cuando creamos una base de datos no necesariamente la estamos usando. Esto quiere decir que las tablas que vayamos a crear se van a crear sobre la base de datos seleccionada.

Por ejemplo, aquí tengo seleccionada a la base de datos llamada sesiones, ya que se indica entre corchetes:

Prompt con base de datos seleccionada

Prompt con base de datos seleccionada

Si quisiera cambiarme a otra base de datos, usaría este comando:

En este caso me “cambiaría” a la base de datos tartaleta. Y el prompt también cambiaría:

Cambiar base de datos

Cambiar base de datos

Mostrar tablas de la base de datos

Para mostrar las tablas que tiene nuestra base de datos seleccionada usamos el comando:

Y para ver la definición de una tabla usamos:

Veamos esta imagen en donde mostramos todas las tablas y luego listamos la definición de la tabla usuarios:

Mostrar y describir tablas

Mostrar y describir tablas

Crear tablas

Para crear tablas primero debemos seleccionar una base de datos como se vio arriba. Y luego simplemente ejecutamos la sentencia de creación.

Podemos usar múltiples líneas, ya que el comando termina hasta que ponemos un punto y coma. Por ejemplo, voy a crear una tabla de películas que tiene la siguiente definición:

Puedo pegar toda la sentencia en la CLI de MySQL:

Crear tablas

Crear tablas

Las flechas que aparecen a la izquierda son agregadas automáticamente e indican un salto de línea.

Eliminar tablas

Para eliminar una tabla usamos este comando:

Justo como se ve en la imagen en donde eliminamos la tabla llamada peliculas:

Eliminar tablas

Eliminar tablas

Vaciar tablas

Si no queremos eliminar las tablas, sino sólo vaciarlas podemos usar dos comandos.

El primero es una simple eliminación de todas las filas:

El segundo (el que recomiendo) es:

Insertar datos

Voy a crear de nuevo la tabla de películas para poder insertar algunos datos en la misma. Para insertar datos en MySQL usamos el siguiente comando:

Hay otras sintaxis pero recomiendo esa. Entonces para insertar una nueva película hago esto:

Como se ve arriba, no especifico el id. Y no lo hago debido a que esa columna está declarada como autoincremento, así que incrementará en uno cada que yo haga una inserción y el motor se encargará de ello.

Mostrar datos

Para mostrar todos los registros de una tabla, usamos:

El asterisco sirve para indicar que queremos todos los campos. Si queremos únicamente algunos campos, hacemos esto:

Adicionalmente podemos cambiar el nombre de una columna únicamente al mostrarse. Primero veamos este ejemplo que lista todas las películas:

Seleccionar datos

Seleccionar datos

Vemos que se listan las columnas así como fueron definidas. Pero no me gusta que diga “anio” aunque tampoco puedo llamarla año por la letra ñ que puede causar problemas.

En lugar de ello podemos usar un alias que afectará únicamente al proyectar los datos. Así:

Notemos que pusimos “as” y eso quiere decir “como” en español. Lo que cambiará anio a año al mostrar los datos:

Alias

Alias

Mostrar datos con WHERE

Al seleccionar datos podemos usar el operador WHERE para filtrarlos. Por ejemplo, si queremos listar las películas en donde el año sea menor que 2000 hacemos esto:

Mostrar datos con WHERE y LIKE

Otro operador famoso y que viene de ayuda siempre es like. Con like podemos usar el comodín %. Esto sirve para buscar datos que contengan texto. Por ejemplo, la siguiente consulta listaría todas las películas que en su título tengan “player”:

Esa consulta coincide con “Ready player one”, “The player”, “playera” y más. Ya que el % especifica “cualquier cosa”. Y como ponemos uno antes y uno después, indicamos que puede tener cualquier texto antes o después, siempre y cuando tenga la palabra player.

Actualizar datos

Para actualizar datos usamos update. La sintaxis es:

Las columnas que no especifiquemos se quedarán como están. También podemos hacerlo con un where:

Lo siguiente actualizar el nombre de la película en donde el id sea 1:

Actualización de datos

Actualización de datos

Apreciamos en la imagen que primero mostramos los datos, luego hacemos el update y en el paso 3 al listar de nuevo, el título ha cambiado.

Eliminar datos

Para terminar con este tutorial de MySQL veamos cómo eliminar datos. La sintaxis es:

O con un where:

Para eliminar una película en donde el año sea 2018 hacemos esto:

Con el siguiente resultado:

Eliminación de datos en MySQL

Eliminación de datos en MySQL

Conclusión

Una vez que ya leíste la introducción a MySQL te invito a ver más tutoriales de este motor de base de datos.

Estoy interesado en trabajar contigo de manera remota para llevar tu idea a la realidad, formar parte de tu equipo de desarrolladores, ayudarte con tu tarea, dar asesorías y todo lo relacionado con tecnología y programación. Contáctame para más información
No te vayas sin seguirme en Twitter, Facebook y GitHub
Si tienes dudas déjalas en un comentario, pero asegúrate de seguirme antes como agradecimiento (no te cuesta nada y me ayudas mucho)


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

5 Comments

Dar permiso de select, insert, update y delete a usuario en MySQL - Parzibyte's blog · octubre 22, 2018 a las 5:58 pm

[…] recomiendo leer una introducción a la CLI de MySQL en caso de que no sepas […]

Script para respaldar una base de datos de MySQL con PHP - Parzibyte's blog · octubre 22, 2018 a las 6:54 pm

[…] la CLI de MySQL se ve […]

Solución a error 1045 access denied for user (using password: YES) | MySQL - Parzibyte's blog · enero 7, 2019 a las 8:51 pm

[…] no sabes de MySQL, mira cómo administrarlo desde la CLI. También te invito a ver cómo crear usuarios en MySQL y darles […]

Cambiar contraseña de usuario de MySQL - Parzibyte's blog · enero 10, 2019 a las 6:00 am

[…] Primeros pasos con la CLI de MySQL […]

Eliminar todas las tablas de una base de datos de MySQL - Parzibyte's blog · enero 13, 2019 a las 5:01 am

[…] cómo administrar MySQL desde la CLI con este tutorial, o mira más cosas sobre MySQL, SQL y Bases de […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: