加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

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

发布时间:2020-05-22 19:27:14 所属栏目:MySql 来源:互联网
导读:我正在尝试构建一个存储电影信息的数据库. Title Plot Genre Rating Director 困扰我的唯一一件事是,大多数电影不仅仅有一种类型,我正在努力弄清楚如何将它存储在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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读