2009-04-28 16 views
21

Chciałbym sformatować niektóre instrukcje SQL, które są pojedynczym ciągiem z znakami nowej linii do czegoś, co jest znacznie łatwiejsze do odczytania.Algorytmy dla starannie wcinających się instrukcji SQL (implementacja Pythona byłaby miła)

Nie znam osobiście dobrego stylu kodowania wcięć w SQL - w jaki sposób powinny być zagnieżdżone zapytania/gdzie klauzule/lewe połączenia/etc reprezentowane w celu zmaksymalizowania czytelności?

Czy ktoś widział ładny algorytm drukowania, który już to robi? W Pythonie byłoby jeszcze lepiej.

Odpowiedz

36

Możesz spróbować sqlparse. Jest to moduł Pythona, który zapewnia proste formatowanie SQL. Demo online jest dostępne pod numerem here.

+0

To wygląda dokładnie to, czego szukałem, dzięki! –

+0

Dzięki za to Andi, wygląda to całkiem fajnie. –

+0

I właśnie zauważyłem, że to twoja aplikacja. –

3

Ja osobiście używam SQL Inform do szybkiego formatowania SQL, który jest napisany w Javie i niestety nie jest open source, więc nie ma dostępu do podstawowego algorytmu.

-2

nie wiem, czy to odpowiedzi na swoje pytanie, ale zazwyczaj używają tej strategii

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

Ale to tylko ja. Nie sądzę, że istnieją odpowiednie narzędzia automatyczne.

2

Poprzednio użyłem funkcji SQL Complete opracowanej przez firmę Devart do formatowania SQL, ale teraz dostępny jest darmowy upiększacz SQL obsługiwany przez SQL Complete - SQL Formatter jest naprawdę bogaty w funkcje i łatwy w użyciu nawet dla początkujących.

+0

Usługa online to świetny pomysł, dziękuję! – qris