Подтвердить что ты не робот

Алгоритм для четких отступов SQL-операторов (реализация Python была бы приятной)

Я хотел бы переформатировать некоторые инструкции SQL, которые представляют собой одну строку с символами новой строки, в нечто гораздо более удобное для чтения.

Я лично не знаю хорошего стиля кодирования для отступов SQL - как вложенные запросы/где предложения/левые соединения /etc представлены для максимальной читаемости?

Кто-нибудь видел симпатичный алгоритм печати, который делает это уже? В Python было бы еще лучше.

4b9b3361

Ответ 1

Вы можете попробовать sqlparse. Это модуль Python, который обеспечивает простое форматирование SQL. Онлайн-демонстрация доступна здесь.

Ответ 2

Я лично использую SQL Inform для быстрого форматирования SQL, который написан на Java и, к сожалению, не является открытым исходным кодом, поэтому нет доступа к основному алгоритму.

Ответ 3

Возможно, часть трудности в поиске инструмента заключается в том, что существует так много разных "стандартных" соглашений о форматировании SQL. Вот два SO-вопроса, которые описывают предпочтения людей:

Ответ 4

Ранее я использовал SQL Complete by Devart для форматирования SQL, но теперь есть бесплатный онлайн-конструктор SQL, основанный на SQL Complete - SQL Formatter он действительно многофункциональный и простой в использовании даже для новичков.

Ответ 5

Не знаю, отвечает ли он на ваш вопрос, но я обычно использую эту стратегию

SELECT what1, what2, etc,
FROM table
WHERE condition
  AND condition
  AND condition
ORDER BY whatever

Но это только я. Я не думаю, что существуют надлежащие автоматические инструменты.