🔒
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