Я использую Python с SQLite 3. Я ввел пользовательские запросы SQL и мне нужно отформатировать результаты этих запросов для языка шаблонов.
Итак, в основном мне нужно использовать .description для DB API-курсора (PEP 249), но мне нужно получить оба имени столбцов и имена таблиц, так как пользователи часто присоединяются.
Очевидный ответ, т.е. прочитать определения таблиц, невозможен - многие таблицы имеют одинаковые имена столбцов.
Мне также нужно некоторое интеллектуальное поведение в именах столбцов / таблиц для агрегатных функций, таких как avg (field) ...
Единственное решение, которое я могу придумать, - это использовать синтаксический анализатор SQL и проанализировать оператор SELECT (вздох), но я не нашел парсер SQL для Python, который кажется действительно хорошим?
Я не нашел ничего в документации или кого-либо еще с такой же проблемой, так что я мог пропустить что-то очевидное?
Редактировать: Для ясности - проблема состоит в том, чтобы найти результат выбора SQL, где оператор выбора предоставляется пользователем в пользовательском интерфейсе. Я не контролирую это. Как я уже отмечал выше, это не помогает читать определения таблиц.