mysql – 电影数据库,存储多种类型

前端之家收集整理的这篇文章主要介绍了mysql – 电影数据库,存储多种类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试构建一个存储电影信息的数据库.

    Title
    Plot
    Genre
    Rating
    Director

困扰我的唯一一件事是,大多数电影不仅仅有一种类型,我正在努力弄清楚如何将它存储在MysqL数据库中.起初我以为我只有一个表并将所有类型存储在一列中,用逗号分隔它们,当我想要检索它们时使用PHP将它们分开,但我不确定这是最好的方法因为我认为我很难排序和搜索特定的类型,例如当列包含’恐怖,惊悚,行动’时的恐怖.

最佳答案
我建议你应该遵循以下结构:

tablename: movies

movieid,title,plot,rating,director

> sample data:
> 
> 1 titanic Bollywood   10  James Cameron

tablename: genres

genreid,genre

> sample data:
>  1    Horror
>  2    Thriller
>  3    Action
>  4    Love

tablename: moviegenres

moviegenresid,movieid,genreid

> sample data:
> 1 1   2
> 2 1   4

查询是:

select m.*,group_concat(g.genre)
from movies m inner join moviegenres mg
on m.movieid=mg.movieid
inner join genres g
on g.genreid=mg.genreid
group by m.movieid
;

fiddle

猜你在找的MySQL相关文章