Hozzatok létre egy adatbázist video_game_music
néven, majd a forrásfájlok elemzését követően az adatok tárolására megfelelő adatszerkezetbe importáljátok be a forrásadatokat. A táblák nevei albums
és songs
legyenek.
CREATE TABLE songs(
spotify_id varchar(255) NOT NULL,
artist_id varchar(255),
track_name varchar(255),
album_name varchar(255),
artist_name varchar(255),
release_date date,
duration_ms int,
popularity int,
added_by varchar(255),
added_at varchar(255),
genres varchar(255),
danceability double,
energy double,
keyvalue int,
loudness double,
modevalue int,
speechless double,
acusticness double,
instrumentalness double,
liveness double,
valence double,
tempo double,
time_signature int,
PRIMARY KEY(spotify_id)
)
CHARACTER SET utf8
COLLATE utf8_general_ci;
cd mysql
mysql.exe -u root --password
LOAD DATA LOCAL INFILE 'C:/songs.csv' INTO TABLE video_game_music.songs FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\\n';
Oldjátok meg a következő feladatokat.
Listázzátok ki azokat a játékokat, amelyek zeneszámairól rendelkezünk adatokkal. Minden játék neve csak egyszer forduljon elő és a játékok neve szerint ABC sorrendben jelenjenek meg.
SELECT DISTINCT albums.video_game FROM albums
INNER JOIN songs ON albums.album = songs.album_name
ORDER BY albums.video_game;
Kik szereztek zenét az Assassin's Creed játékokhoz? Írassátok ki a játékok nevét és a szerzőket (mindegyiket egyszer), a játékok neve szerint növekvő sorrendben.
SELECT DISTINCT albums.video_game, songs.artist_name FROM albums
INNER JOIN songs ON albums.album = songs.album_name
WHERE albums.video_game LIKE 'Assassin\\'s Creed%'
ORDER BY albums.video_game;
Melyik 5 játék rendelkezik a legtöbb zeneszámmal? Írassátok ki a játékok nevét és a hozzájuk kapcsolódó zeneszámok számát az utóbbi adat szerint csökkenő sorrendbe rendezve.
SELECT albums.video_game, COUNT(songs.spotify_id) AS song_count FROM albums
INNER JOIN songs ON albums.album = songs.album_name
GROUP BY albums.video_game
ORDER BY song_count DESC
LIMIT 5;
Írjunk lekérdezést, amely kilistázza azoknak az albumoknak a nevét és a bennük található zeneszámokat, amelyek szerzője Jeremy Soule.
SELECT album_name, COUNT(spotify_id) AS song_count FROM songs
WHERE artist_name = 'Jeremy Soule'
GROUP BY album_name;
Jelenítsük meg azt az 5 játékot, amelyek számainak a táncolhatósági mutatója a legmagasabb. Az eredményeket táncolhatóság szerint csökkenő sorrendben jelenítsük meg.