Как реализовать авторизацию в sql на питон?
Вот этот код работает можешь оптимизировать его под себя
я не нашел ответ в интернете искал около 2-ух дней
здесь регистрация и авторизация!

import sqlite3

db = sqlite3.connect("data.db")
sql = db.cursor()
sql.execute("""CREATE TABLE IF NOT EXISTS "users" (
    "username"  TEXT,
    "password"  TEXT)""")
db.commit()


def reg():
    username = input("username>> ")
    password = input("password>> ")
    sql.execute(f"SELECT username, password FROM users WHERE username = '{username}' AND password = '{password}'")

    if sql.fetchone() is None:
        sql.execute(f"INSERT INTO users VALUES (?,?)", (username, password))
        db.commit()
        print('You have registered')
        login()
    else:
        print('Такая запись уже существует')
        for i in sql.execute('SELECT * FROM users'):
            print(i)

def login():
    username = input("username>> ")
    password = input("password>> ")
    a = sql.execute(f"SELECT username, password FROM users WHERE username = '{username}' AND password = '{password}'")
    db.commit() 
    if not sql.fetchone():
        print("Нет такой записи")
        for i in sql.execute('SELECT * FROM users'):
            print(i)
        reg()
    else:
        print('Welcome')
    
login()
global db
global sql???

1) Не используйте f-строки!
sqlite3 — DB-API 2.0 interface for SQLite databases 
Конкретно обратите внимание на:
Usually your SQL operations will need to use values from Python variables. You shouldn’t assemble your query using Python’s string operations because doing so is insecure; it makes your program vulnerable to an SQL injection attack (see https://xkcd.com/327/ for humorous example of what can go wrong).

2) Обычно, при регистрации пароль хешируется и добавляется в базу хеш, а не пароль. Потом при авторизации пароль опять хешируется и этот хеш сверяется с хешем в базе.

Что конкретно у вас не получается? Сверить значение со значением в базе?