Esto es una pequeña gran introducción a MySQL desde la línea de comandos. Esto es lo que aprenderemos:
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.
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.
Para iniciar sesión o entrar a administrar MySQL debemos ejecutar el comando:
mysql -u usuario -p
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í:
mysql -u usuario -p mi_base_de_datos
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:
mysql -u root -p sesiones
Lo que abriría una nueva sesión y seleccionaría dicha base de datos:
Para mostrar las bases de datos existentes ejecutamos el siguiente comando:
show databases;
Lo que nos dará una lista de las mismas:
Podemos crear una base de datos con el siguiente comando:
create database mi_base_de_datos;
Si la creamos y después las listamos aparecerá nuestra nueva base de datos:
Crear base de datos
Para eliminar por completo una base de datos usamos el siguiente comando:
drop database mi_base_de_datos;
Está de más decir que no podremos recuperarla más tarde, y su eliminación será permanente.
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:
Si quisiera cambiarme a otra base de datos, usaría este comando:
use tartaleta;
En este caso me “cambiaría” a la base de datos tartaleta. Y el prompt también cambiaría:
Para mostrar las tablas que tiene nuestra base de datos seleccionada usamos el comando:
show tables;
Y para ver la definición de una tabla usamos:
describe mi_tabla;
Veamos esta imagen en donde mostramos todas las tablas y luego listamos la definición de la tabla usuarios:
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:
CREATE TABLE IF NOT EXISTS peliculas(
id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
titulo VARCHAR(255) NOT NULL,
anio SMALLINT NOT NULL,
PRIMARY KEY(id)
);
Puedo pegar toda la sentencia en la CLI de MySQL:
Las flechas que aparecen a la izquierda son agregadas automáticamente e indican un salto de línea.
Para eliminar una tabla usamos este comando:
drop table mi_tabla;
Justo como se ve en la imagen en donde eliminamos la tabla llamada peliculas:
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:
delete from mi_tabla;
El segundo (el que recomiendo) es:
truncate table mi_tabla;
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:
insert into mi_tabla(campo1, campo2) values (valor1, valor2);
Hay otras sintaxis pero recomiendo esa. Entonces para insertar una nueva película hago esto:
insert into peliculas(titulo, anio) values ("Ready Player One", 2018);
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.
Para mostrar todos los registros de una tabla, usamos:
select * from mi_tabla;
El asterisco sirve para indicar que queremos todos los campos. Si queremos únicamente algunos campos, hacemos esto:
select campo1, campo2 from mi_tabla;
Adicionalmente podemos cambiar el nombre de una columna únicamente al mostrarse. Primero veamos este ejemplo que lista todas las películas:
select id, titulo, anio from peliculas;
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í:
select id, titulo, anio as año from peliculas;
Notemos que pusimos “as” y eso quiere decir “como” en español. Lo que cambiará anio a año al mostrar los datos:
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:
select id, titulo, anio from peliculas where anio < 2000;
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”:
select id, titulo, anio from peliculas where anio < 2000;
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.
Para actualizar datos usamos update. La sintaxis es:
update tabla set nombreColumna = nuevoValor, otraColumna = otroValor;
Las columnas que no especifiquemos se quedarán como están. También podemos hacerlo con un where
:
update tabla set columna = valor where condicion;
Lo siguiente actualizar el nombre de la película en donde el id sea 1:
update peliculas set titulo = "Ready Player One: comienza el juego" WHERE id = 1;
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.
Para terminar con este tutorial de MySQL veamos cómo eliminar datos. La sintaxis es:
delete from tabla;
O con un where:
delete from tabla where condicion;
Para eliminar una película en donde el año sea 2018 hacemos esto:
delete from peliculas where anio = 2018;
Con el siguiente resultado:
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.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
que buen contenido me gusto me ayudo a resolver mis problemas