sqlite3.connect('teor.db')
Ты уверен, что питоновский скрипт и клиент sqlite открывают один и тот же файл с базой данных?
Ты указал относительный путь, т.е. путь относительно
текущего рабочего каталога. Он может совпадать или не совпадать с каталогом, где лежит скрипт.
На всякий случай, попробуй так:
import pathlib, sys
script_dir = pathlib.Path(sys.argv[0]).parent.resolve() # путь к каталогу скрипта
db_file = script_dir / 'teor.db' # путь к файлу БД
print(db_file) # для проверки, какой файл открывается
conn = sqlite3.connect(db_file)
... # далее по тексту
Также, попробуй убрать одинарные кавычки вокруг имени таблицы и столбцов. Они обычно нужны, если имя содержит пробелы. В твоём случае только усложняют чтение запроса.