🔒

phpMyAdmin — Grupo de estudio

Servidor de prueba de concepto · unso2.duckdns.org · MariaDB

⚠ PoC inseguro a proposito: credenciales debiles y publicas, solo para el grupo de estudio.
Tu usuario es tu nombre y la clave es igual al usuario. Cada uno administra su propia base spotify_(usuario): puede crear, editar y eliminar tablas y hasta borrar esa BD (es suya).
El usuario legacy demo/demo sigue disponible (limitado a demo_db).
Su IP (216.73.216.48) queda registrada en el log de logins.
jonatanjuanmauroagostinaflormartinmaxijorgeosvaldoarieladrianalbanodemo

Últimos logins top 10 · 03/11/2026 00:21:03

Sin registros anteriores — este será el primero.
← Volver al panel

Útiles · Referencia rápida SQL

Ejemplos prácticos con la base spotify de este servidor. Hacé clic en cada título para desplegar.

▶  Lectura general — SELECT / FROM / WHERE

Leer todas las columnas de una tabla:

SELECT * FROM canciones;

Leer solo algunas columnas:

SELECT titulo, nombre_artist FROM canciones;

Filtrar con WHERE:

SELECT titulo FROM canciones WHERE nombre_artist = 'Bad Bunny';

Múltiples condiciones:

SELECT titulo FROM canciones WHERE genero = 'Pop' AND duracion_seg > 200;

Ordenar resultados:

SELECT titulo, duracion_seg FROM canciones ORDER BY duracion_seg DESC;
▶  Combinación — JOINs

INNER JOIN — solo filas que coinciden en ambas tablas:

SELECT c.titulo, a.nombre_artist FROM canciones c INNER JOIN artistas a ON c.artist_id = a.id;

LEFT JOIN — todas las canciones aunque no tengan artista:

SELECT c.titulo, a.nombre_artist FROM canciones c LEFT JOIN artistas a ON c.artist_id = a.id;

Tres tablas combinadas:

SELECT c.titulo, a.nombre_artist, g.genero FROM canciones c INNER JOIN artistas a ON c.artist_id = a.id INNER JOIN generos g ON a.genero_id = g.id;

COUNT con JOIN — cuántas canciones tiene cada artista:

SELECT a.nombre_artist, COUNT(c.id) AS total FROM artistas a LEFT JOIN canciones c ON a.id = c.artist_id GROUP BY a.id;
▶  Creación de datos — INSERT

Insertar un solo registro:

INSERT INTO canciones (titulo, nombre_artist, duracion_seg) VALUES ('Titular', 'Artista', 180);

Insertar varios registros de una vez:

INSERT INTO canciones (titulo, nombre_artist, duracion_seg) VALUES ('Cancion A', 'Artista X', 200), ('Cancion B', 'Artista Y', 150);

Insertar desde otra tabla:

INSERT INTO canciones_temp (titulo, nombre_artist) SELECT titulo, nombre_artist FROM canciones WHERE duracion_seg < 120;
▶  Modificación de datos — UPDATE

Actualizar una columna de filas filtradas:

UPDATE canciones SET duracion_seg = 195 WHERE titulo = 'Cancion Vieja';

Actualizar varias columnas a la vez:

UPDATE canciones SET titulo = 'Titular Nuevo', duracion_seg = 210 WHERE id = 5;

Actualizar basado en otra tabla:

UPDATE canciones SET nombre_artist = 'Artista Corregido' WHERE artist_id IN (SELECT id FROM artistas WHERE nombre_artist LIKE '%Incorrecto%');
▶  Eliminación de datos — DELETE

Borrar filas que cumplen una condición:

DELETE FROM canciones WHERE titulo = 'Cancion a Borrar';

Borrar múltiples filas:

DELETE FROM canciones WHERE duracion_seg < 60;

Borrar TODO (cuidado!):

DELETE FROM canciones;
▶  Creación y modificación de tablas — DDL

Crear una tabla nueva:

CREATE TABLE playlists ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100) NOT NULL, usuario_id INT );

Agregar una columna a una tabla existente:

ALTER TABLE canciones ADD COLUMN likes INT DEFAULT 0;

Cambiar el tipo o nombre de una columna:

ALTER TABLE canciones CHANGE duracion_seg duracion_min INT;

Borrar una columna:

ALTER TABLE canciones DROP COLUMN likes;
⚠ Advertencia: antes de ejecutar UPDATE o DELETE sin WHERE, detené — afectarían a TODAS las filas de la tabla. Hacé primero un SELECT con el mismo filtro para verificar cuántas filas van a cambiar.
← Volver al panel