首页 > 解决方案 > 如何在电影流派关系表中插入数据?

问题描述

我有一个包含电影信息的 IMDb 数据文件,我想创建一个数据库。我创建了两个表:电影和流派

c.execute("""CREATE TABLE IF NOT EXISTS movie(
            budget integer,
            homepage text,
            id integer,
            original_language text,
            original_title text,
            overview text,
            popularity integer,
            release_date text,
            revenue integer,
            runtime integer,
            status text,
            tagline text,
            title text,
            vote_average integer,
            vote_count integer,
            primary key(id)
)""")

c.execute("""CREATE TABLE genre(
            id integer,
            name text,
            primary key(id)
)""")

然后我将数据插入到这样的表中:

for index, movies in data.iterrows():
    try:
      c.execute("INSERT INTO movie VALUES (:budget, :homepage, :id, :original_language, :original_title, :overview, :popularity, :release_date, :revenue, :runtime, :status, :tagline, :title, :vote_average, :vote_count)", 
                {'budget': movies['budget'], 'homepage': movies['homepage'], 'id': movies['id'], 'original_language': movies['original_language'], 'original_title': movies['original_title'], 
                 'overview': movies['overview'], 'popularity': movies['popularity'], 'release_date': movies['release_date'], 'revenue': movies['revenue'], 'runtime': movies['runtime'], 
                 'status': movies['status'], 'tagline': movies['tagline'],
                 'title': movies['title'], 'vote_average': movies['vote_average'], 'vote_count': movies['vote_count']})
    except sqlite3.IntegrityError as e:
      pass # ignore SQLite complaints about UNIQUE primary keys


for movie_genres in data['genres']:
    for genres in movie_genres:
      try:
        c.execute("INSERT INTO genre VALUES (:id, :name)", {'id': genres['id'], 'name': genres['name']})
      except sqlite3.IntegrityError as e:
        pass # ignore SQLite complaints about UNIQUE primary keys

电影和流派有多对多的关系,我想为此创建一个表并在此表中插入数据。

我该怎么做呢??

标签: sqldatabasesqlite

解决方案


这是要插入到表中的查询

insert into movie_genres (mid,gid) values (1,1)
insert into movie_genres (mid,gid) values (1,2)

推荐阅读