Unit 12

Source Code

import sqlite3

def main():
    # Connect to the SQLite database
    db = 'unit12.db'
    conn = sqlite3.connect(db)

    done = False
    print("Welcome to the Main Function")
    while not done:
        print("Menu")
        print("CREATE1 - CREATE TABLE 1")
        print("CREATE2 - CREATE TABLE 2")
        print("CREATE3 - CREATE TABLE 3")
        print("INSERT1 - INSERT INTO TABLE 1")
        print("INSERT2 - INSERT INTO TABLE 2")
        print("INSERT3 - INSERT INTO TABLE 3")
        print("SELECT1 - SELECT * TABLE 1")
        print("SELECT2 - SELECT * TABLE 2")
        print("SELECT3 - SELECT * TABLE 3")
        print("E1 - Example 1")
        print("Q - Quit")
        choice = input("Choice: ").upper()
        match choice:
            case "CREATE1":
                create1(conn)
            case "CREATE2":
                create2(conn)
            case "INSERT1":
                insert1(conn)
            case "INSERT2":
                insert2(conn)
            case "SELECT1":
                select1(conn)
            case "SELECT2":
                select2(conn)
            case "SELECT3":
                select3(conn)
            case "CREATE3":
                create3(conn)
            case "INSERT3":
                insert3(conn)
            case "E1":
                example1(conn)
            case "E2":
                example2(conn)
            case "E3":
                example3(conn)
            case "E4":
                example4(conn)
            case "E5":
                example5(conn)
            case "Q":
                done = True
            # default case
            case _:
                print("Invalid, try again!")

    # close the connection
    conn.close()

# create function
def create1(conn):
    print("Create Table")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # Create table query
    sql = '''CREATE TABLE IF NOT EXISTS clubs (
            club_id INTEGER PRIMARY KEY AUTOINCREMENT,
            club_name TEXT NOT NULL,
            meeting_day TEXT,
            room_number TEXT
            )
           '''

    # Execute query
    cursor.execute(sql)
    print("Table created successfully!")

# create function
def create2(conn):
    print("Create Table")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # Create table query
    sql = '''CREATE TABLE IF NOT EXISTS students (
        student_id INTEGER PRIMARY KEY AUTOINCREMENT,
        first_name TEXT NOT NULL,
        grade INTEGER,
        club_id INTEGER,
        gpa REAL,
        FOREIGN KEY (club_id) REFERENCES clubs (club_id)
        )
        '''

    # Execute query
    cursor.execute(sql)
    print("Table created successfully!")

# insert function
def insert1(conn):
    print("Insert Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # data
    data = [
        ('eSports Club', 'Monday', 'GLAB'),
        ('Debate Team', 'Tuesday', 'NAAB'),
        ('Basketball', 'Wednesday', 'Pioneer'),
        ('Art Club', 'Thursday', 'Cougar Hall'),
        ('Robotics', 'Friday', 'Libery Hall'),
        ('Cybersecurity', 'Saturday', 'Zoom'),
        ('Digital Forensics', 'Sunday', 'Zoom')
    ]

    # Insert data into table query
    sql = """
        INSERT INTO clubs (club_name, meeting_day, room_number)
        VALUES (?, ?, ?)
    """

    # Insert data into table query
    cursor.executemany(sql, data)
    print("SQL query executed")

    # Commit changes
    conn.commit()
    print("changed committed")

# insert function
def insert2(conn):
    print("Insert Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # data
    data = [
        ('Alex', 10, 1, 3.7),
        ('Alex', 10, 2, 3.7),
        ('Taylor', 11, 2, 3.9),
        ('Taylor', 11, 4, 3.9),
        ('Jordan', 10, 1, 3.5),
        ('Casey', 12, 3, 3.8),
        ('Riley', 11, 2, 3.6),
        ('Riley', 11, 5, 3.6),
        ('Morgan', 10, 1, 3.4),
        ('Jamie', 12, None, 3.1),
        ('Avery', 9, None, 3.2)
    ]

    # Insert data into table query
    sql = """
        INSERT INTO students (first_name, grade, club_id, gpa)
        VALUES (?, ?, ?, ?)
    """

    # Insert data into table query
    cursor.executemany(sql, data)
    print("SQL query executed")

    # Commit changes
    conn.commit()
    print("changed committed")

# select function
def select1(conn):
    print("Select Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # SQL Query to SELECT all
    sql = "SELECT * FROM clubs"

    # Execute query
    cursor.execute(sql)
    print("SQL query executed")

    # fetch the rows
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# select function
def select2(conn):
    print("Select Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # SQL Query to SELECT all
    sql = "SELECT * FROM students"

    # Execute query
    cursor.execute(sql)
    print("SQL query executed")

    # fetch the rows
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# select function
def select3(conn):
    print("Select Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # SQL Query to SELECT all
    sql = "SELECT * FROM competitions"

    # Execute query
    cursor.execute(sql)
    print("SQL query executed")

    # fetch the rows
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# Example 1 Function
def example1(conn):
    print("Example 1")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # sql
    sql = '''SELECT s.student_id, s.first_name, c.club_name, c.meeting_day
            FROM students s
            INNER JOIN clubs c ON s.club_id = c.club_id
            '''
    # Execute query
    cursor.execute(sql)
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# create function
def create3(conn):
    print("Create Table")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # Create table query
    sql = '''CREATE TABLE IF NOT EXISTS competitions (
            comp_id INTEGER PRIMARY KEY AUTOINCREMENT,
            comp_name TEXT NOT NULL,
            club_id INTEGER,
            location TEXT,
            comp_date TEXT,
            FOREIGN KEY (club_id) REFERENCES clubs (club_id)
            )
    '''

    # Execute query
    cursor.execute(sql)
    print("Table created successfully!")

# insert function
def insert3(conn):
    print("Insert Data")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # data
    data = [
        ('State Gaming Tournament', 1, 'Convention Center', '2023-11-15'),
        ('Regional Debate Championship', 2, 'Central High School', '2023-10-25'),
        ('Basketball Finals', 3, 'Main Gym', '2023-12-10'),
        ('Robotics Challenge', 5, 'Tech University', '2023-11-05'),
        ('Art Exhibition', 4, 'Community Center', '2023-10-30')
    ]

    # Insert data into table query
    sql = """
        INSERT INTO competitions (comp_name, club_id, location, comp_date)
        VALUES (?, ?, ?, ?)
    """

    # Insert data into table query
    cursor.executemany(sql, data)
    print("SQL query executed")

    # Commit changes
    conn.commit()
    print("changed committed")

# Example 2 Function
def example2(conn):
    print("Example 2")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # sql
    sql = '''SELECT s.first_name, s.last_name, c.club_name, comp.comp_name, comp.comp_date
            FROM students s
            INNER JOIN clubs c ON s.club_id = c.club_id
            INNER JOIN competitions comp ON c.club_id = comp.club_id
    '''

    # Execute query
    cursor.execute(sql)
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# Example 3 Function
def example3(conn):
    print("Example 3")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # sql
    sql = '''SELECT s.first_name, c.club_name
            FROM students s
            LEFT JOIN clubs c ON s.club_id = c.club_id
    '''

    # Execute query
    cursor.execute(sql)
    rows = cursor.fetchall()
    for row in rows:
        print(row)

# Example 4 Function
def example4(conn):
    print("Example 4")

    # Create a cursor object using the cursor() method
    cursor = conn.cursor()

    # sql
    sql = '''SELECT s.first_name, c.club_name
            FROM clubs c
            LEFT JOIN students s ON c.club_id = s.club_id
    '''

    # Execute query
    cursor.execute(sql)
    rows = cursor.fetchall()
    for row in rows:
        print(row)


# call to main function, do not delete!
main()

project3.py

import sqlite3
from datetime import datetime

def main():
    print("CPS 3320 Python Programming")
    print("Project 3")
    print("Name: ")
    db = 'project6.db'
    conn = sqlite3.connect(db)
    done = False
    while not done:
        print("Main Menu")
        print("A - Admin Menu")
        print("S - Start New Order")
        print("Q - Quit")
        choice = input("Choice: ").upper()
        if choice == "A":
            admin(conn)
        elif choice == "S":
            restaurant(conn)
        elif choice == "P":
            past_orders(conn)
        elif choice == "C":
            view_customers(conn)
        elif choice == "Q":
            print("Quitting!")
            done = True
        else:
            print("Invalid, try again!")

    #close the connection
    conn.close()

# admin function
def admin(conn):
    print("Admin Menu")
    done = False
    while not done:
        print("CREATE1 - Create menu table")
        print("CREATE2 - Create customers table")
        print("CREATE3 - Create orders table")
        print("CREATE4 - Create order_items table")
        print("INSERT1 - Insert menu items")
        print("S - View All Menu Items")
        print("P - Past Orders")
        print("C - View All Customers")
        print("Q - Quit")
        choice = input("Choice: ").upper()
        if choice == "Q":
            print("Quitting!")
            done = True
        else:
            print("Invalid, try again!")

# start new order function
def restaurant(conn):
    print("Restaurant Menu")

# past orders function
def past_orders(conn):
    print("Past Orders")

# view customers function
def view_customers(conn):
    print("View Customers")

main()

Last updated