import sqlite3 as sq


def test_1():

    with sq.connect("saper.db") as con:
        cur = con.cursor() # Cursor
        
        # cur.execute("DROP TABLE IF EXISTS users")

        cur.execute("""CREATE TABLE IF NOT EXISTS users (
                    user_id INTEGER PRIMARY KEY AUTOINCREMENT,
                    name TEXT NOT NULL,  
                    sex INTEGER NOT NULL DEFAULT 1,
                    old INTEGER,
                    score INTEGER
                    )""")

def saper_db():
    with sq.connect('saper.db') as con:
        cur = con.cursor()

        cur.execute("""CREATE TABLE IF NOT EXISTS users (
                    name TEXT,
                    sex INTEGER,
                    old INTEGER,
                    score INTEGER
                    )""")

        cur.execute('INSERT INTO users VALUES ("Михаил", 1, 22, 100)')
        cur.execute('INSERT INTO users VALUES ("Яна", 2, 24, 830)')
        cur.execute('INSERT INTO users VALUES ("Федор", 1, 32, 764)')


        cur.execute("""CREATE TABLE IF NOT EXISTS games (
                    user_id INTEGER,
                    score INTEGER,
                    time INTEGER
                    )""")
        
        for i in range(1, 8):
            cur.execute(f'INSERT INTO games VALUES ({i}, {i*200}, {i*10000})')        

        con.commit()


        cur.execute("SELECT * FROM users WHERE score > 100 ORDER BY score DESC LIMIT 5")
        
        # result = cur.fetchall() # для получения результата запроса (будет список кортежей)
        
        # Для экономии памяти (не формируется весь список записей)
        for result in cur:
            print(result)

        # result_2 = cur.fetchone() # получить одну запись

        # result_3 = cur.fetchmany(3) # получить N записей



        # con.close()


def main():
    # test_1()
    saper_db()



if __name__ == '__main__':
    main()
