[lang-ref] ( example_db_access ) ( python )

def test_example_db_access():
    # sqlite3.connect
    import sqlite3

    # connect
    con = sqlite3.connect(":memory:")
    con.row_factory = sqlite3.Row

    # create table
    con.execute('''
        CREATE TABLE IF NOT EXISTS users(
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL
        )
    ''')
    con.commit()

    # insert
    name = 'user1'
    cur = con.execute("INSERT INTO users(name) VALUES(?)", (name,))
    con.commit()
    rowid = cur.lastrowid

    # select
    user_id = rowid
    row = con.execute("SELECT * FROM users WHERE id=?", (user_id,)).fetchone()

    assert row['name'] == 'user1'

    # disconnect
    con.close()