Case Study: Pokemon
pokemon.py
import sqlite3 import os if os.path.exists("pokemania.db"): os.remove("pokemania.db") db = sqlite3.connect('pokemania.db') db.cursor().executescript(""" CREATE TABLE IF NOT EXISTS pokemon ( pname TEXT NOT NULL PRIMARY KEY UNIQUE, rarity TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS collections ( user TEXT NOT NULL, pname TEXT NOT NULL, PRIMARY KEY (user, pname) ); INSERT INTO pokemon (pname, rarity) VALUES ("Pikachu", "GOLD"); INSERT INTO pokemon (pname, rarity) VALUES ("Bobosaur", "GOLD"); INSERT INTO pokemon (pname, rarity) VALUES ("Squirtle", "RARE"); INSERT INTO collections (user, pname) VALUES ("Jared", "Pikachu"); INSERT INTO collections (user, pname) VALUES ("Thommo", "Pikachu"); INSERT INTO collections (user, pname) VALUES ("Thommo", "Squirtle"); """) sql = """ SELECT * FROM collections JOIN pokemon ON collections.pname = pokemon.pname """ print(db.cursor().execute(sql).fetchall())