Intro to Coding
  • Unit 1
    • Introduction
  • Activity 1.1
  • Activity 1.2
  • Activity 1.3
  • Activity 1.4
  • Activity 1.5
  • Activity 1.6
  • Activity 1.7
  • Activity 1.8
  • Activity 1.9
  • Activity 1.10
  • Activity 1.11
  • Activity 1.12
  • Activity 1.13
  • Project 1
  • Activity 1.14
  • Activity 1.15
  • Activity 1.16
  • Activity 1.17
  • Activity 1.18
  • Activity 1.19
  • Activity 1.20
  • Activity 1.21
  • Activity 1.22
  • Activity 1.23
  • Activity 1.24
  • Activity 1.25
  • Activity 1.26
  • Project 2
  • Activity 1.27
  • Activity 1.28
  • Activity 1.29
  • Activity 1.30
  • Unit 2
    • Introduction
  • Activity 2.1
  • Activity 2.2
  • Activity 2.3
  • Project 3
  • Activity 2.4
  • Activity 2.5
  • Activity 2.6
  • Activity 2.7
  • Project 4
  • Activity 2.8
  • Activity 2.9
  • Activity 2.10
  • Activity 2.11
  • Activity 2.12
  • Activity 2.13
  • Activity 2.14
  • Activity 2.15
  • Activity 2.16
  • Activity 2.17
  • Activity 2.18
  • Activity 2.19
  • Activity 2.20
  • Activity 2.21
  • Activity 2.22
  • Activity 2.23
  • Project 5
  • Activity 2.24
  • Activity 2.25
  • Activity 2.26
  • Unit 3
    • Introduction
  • Activity 3.1
  • Activity 3.2
  • Activity 3.3
  • Activity 3.4
  • Activity 3.5
  • Activity 3.6
  • Activity 3.7
  • Activity 3.8
  • Activity 3.9
  • Activity 3.10
  • Activity 3.11
  • Activity 3.12
  • Project 6
  • Activity 3.13
  • Activity 3.14
  • Activity 3.15
  • Activity 3.16
  • Activity 3.17
  • Activity 3.18
  • Activity 3.19
  • Activity 3.20
  • Activity 3.21
  • Activity 3.22
  • Activity 3.23
  • Project 7
  • Activity 3.24
Powered by GitBook
On this page
  • Source Code
  • Query 1
  • Query 2
  • Query 3

Activity 2.20

Source Code

import sqlite3

def create_and_populate_names_db():
    # 1. Connect to (or create) the SQLite database
    conn = sqlite3.connect("activity220.db")
    cursor = conn.cursor()

    # 2. Create the names table if it does not exist
    cursor.execute("""
        CREATE TABLE IF NOT EXISTS names (
            name_id INTEGER PRIMARY KEY AUTOINCREMENT,
            name TEXT NOT NULL
        );
    """)

    # 3. Prepare data for 50 popular names
    names_data = [
        "Liam", "Olivia", "Noah", "Emma", "Oliver", "Ava", "Elijah", "Charlotte",
        "William", "Amelia", "James", "Sophia", "Benjamin", "Isabella", "Lucas",
        "Mia", "Henry", "Evelyn", "Alexander", "Harper", "Mason", "Camila",
        "Michael", "Gianna", "Ethan", "Abigail", "Daniel", "Luna", "Matthew",
        "Ella", "Aiden", "Elizabeth", "Joseph", "Sofia", "Jackson", "Emily",
        "Sebastian", "Avery", "David", "Mila", "Carter", "Scarlett", "Wyatt",
        "Eleanor", "Jayden", "Madison", "John", "Layla", "Owen", "Penelope"
    ]

    # Convert list of names to list of tuples, because executemany expects sequences
    # that match the placeholders in the SQL statement
    names_tuples = [(name,) for name in names_data]

    # 4. Insert the data into the names table
    cursor.executemany("INSERT INTO names (name) VALUES (?)", names_tuples)

    # 5. Commit the transaction and close the connection
    conn.commit()
    conn.close()

    print("Successfully created and populated the 'names' table with 50 names.")

if __name__ == "__main__":
    create_and_populate_names_db()

Query 1

SELECT name FROM "names" WHERE name LIKE 'A%' ORDER BY name ASC

Query 2

SELECT name FROM "names" WHERE name LIKE '%a' ORDER BY name ASC

Query 3

SELECT name FROM "names" WHERE name LIKE '%ia%' ORDER BY name ASC
PreviousActivity 2.19NextActivity 2.21

Last updated 3 months ago