【问题标题】:Musicbrainz SQL databaseMusicbrainz SQL 数据库
【发布时间】:2016-03-04 12:20:33
【问题描述】:

在搜索音乐数据库时,我遇到了 musicbrainz,我发现了一个 SQLite Musicbrainz 数据库。

可以找到数据库方案here.

还有一个文件,其中包含创建表语句和解释性 cmets here.

问题是我只需要数据库中的艺术家姓名和他们的歌曲。

我昨天花了几个小时试图用艺术家和歌曲名称创建一个新数据库,但我无法让它工作。

我想做的是这样的:

Artist| Song |
--------------
Eminem|When i'm gone
Eminem|Lose yourself
The Eagles|Hotel California

谢谢大家!

【问题讨论】:

  • 从哪里获取数据?在过去几年中,主要的 MusicBrainz 数据库架构已经更改了几次,不再对应于您链接到的图表。例如,不再有artist_name 表;该名称现在是 artist 表本身中的 TEXT 列。
  • 是否有理由需要整个数据库而不能使用MusicBrainz Web Service(或任何libraries)?如果是这样,那么要走的路是install the full database together with the server

标签: sql database sqlite musicbrainz


【解决方案1】:

您可以在sqlfiddle 上查看示例

select an.name as Artist, tn.name as Song from artist_name an
    inner join artist a ON a.id = an.id
    inner join r_artist_track rat ON a.id = rat.entity0
    inner join track t ON t.id = entity1
    inner join track_name tn ON tn.id = t.id;

你需要 4 个连接,我在这张图片上说明了原因:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多