用Mysql和PHP构建动态网站


Building a Dynamic Website with Mysql and PHP

简介

你好!我正在建立一个歌词网站,在那里我将把歌词存储在MySQL数据库中。

我想要两个主表:一个是歌词,它将有id、歌词标题、歌词文本、艺术家名称和浏览次数。

另一个表将是艺术家表,带有:id,艺术家名称

问题:

  1. 如何使用两个表中的艺术家名称字段来链接这两个表?我想从表格中显示我网站上的所有艺术家,并查看与该特定艺术家相关的所有歌词/
  2. 如何链接到表中的特定记录或字段

请提供帮助,或者如果你知道任何网站或视频可以帮助我学习这些以及其他可能帮助我建立网站的东西,我们将不胜感激。

不要将艺术家名称存储在两个表中。这违背了单独设立艺术家桌的目的。相反,将ArtistID存储在Lyrics表中,并仅将ArtistName存储在Artist表中。这样,例如,如果你拼错了艺术家的名字,你只需要更新一个表,就不会破坏歌词和艺术家之间的关系。

表使用外键关系链接在一起。

我回答第一个问题
您真的应该使用id_artist字段而不是artist name来更改歌词表
这样可以确保您不会重复名称(这样会浪费空间(,也不会在查询过程中写错误的名称导致错误的结果
所以你可以做

SELECT a.`artist name`, l.title, l.text
FROM artist a INNER JOIN lyrics l
ON a.id = l.id_artist
WHERE a.name = '....'
// or you can use WHERE a.id = ...