it-swarm.it

Formattatore query SQL

Esistono programmi/plugin/estensioni per la formattazione di query SQL (basate su Linux)?

Uso PostgreSQL e MySQL ma anche altri DB sono i benvenuti.

Posso usare un VM con cui provare ma preferirei una soluzione basata su Linux (Ubuntu).

Ho visto una versione online ma niente come installabile.

Anche gli IDE basati su Eclipse sono un vantaggio

Esempio:

select f1, f2, fname, lName from tblName where f1 = true and fname is not null order by lName asc

a qualcosa del genere

SELECT f1, f2, fname, lName
FROM tblName
WHERE f1 = true
AND fname IS NOT NULL
ORDER BY lName ASC

Ecco un esempio online:

Ma preferirei che questo fosse in un ambiente locale

Relazionato:

AGGIORNARE:

Guardando questo:

AGGIORNAMENTO FINALE:

Anche se questo potrebbe essere un overkill Jet Brains ha un nuovo database IDE che ha alcune grandi opzioni di riformattazione

14
Phill Pafford

pgAdmin viene fornito con un formattatore di query incorporato. Dovresti creare una vista per visualizzare la query formattata in questo modo:

enter image description here

Ovviamente, gli identificatori misti maiuscoli e non quotati verranno lanciati in minuscolo. (Ma lo considero una benedizione.)

E parole di disturbo come ASC in ORDER BY verrà ritagliato.

E, ultimo ma non meno importante, la vista dovrebbe essere valida all'interno del database per cominciare. Quindi non esattamente quello che hai chiesto. Le query sono in realtà decodificate dalla definizione della vista.

8

Mentre più generico (SQL invece di pgSQL), fsqlf ( http://sourceforge.net/projects/fsqlf/ ) è una riga di comando o un programma GUI, open source, per formattare SQL. Supporta avere un file formatting.conf che ti offre molta flessibilità nell'aspetto del prodotto finale.

Esempi:

☺  [[email protected]:~] 
$ echo "select f1, f2, fname, lName from tblName where f1 = true and fname is not null order by lName asc" | fsqlf 

SELECT
  f1
, f2
, fname
, lName
FROM tblName
WHERE f1=true
AND fname is not null
ORDER BY lName asc
☺  [[email protected]:~] 
$ vim formatting.conf # 2 character change
☺  [[email protected]:~] 
$ echo "select f1, f2, fname, lName from tblName where f1 = true and fname is not null order by lName asc" | fsqlf 

SELECT
 f1 ,
 f2 ,
 fname ,
 lName
FROM tblName
WHERE f1=true
AND fname is not null
ORDER BY lName asc
☺  [[email protected]:~] 
$ vim formatting.conf # 1 character change
☺  [[email protected]:~] 
$ echo "select f1, f2, fname, lName from tblName where f1 = true and fname is not null order by lName asc" | fsqlf 

SELECT
 f1 , f2 , fname , lName
FROM tblName
WHERE f1=true
AND fname is not null
ORDER BY lName asc
☺  [[email protected]:~] 
$ 
3
Wayne Walker

Online SQL beautifier1 AND beautifier2

1
Faruk Omar

MySQL Workbench l'editor di query fornisce nativamente un formulatore di query SQL: devi solo fare clic sull'icona "abbellisci" come mostrato di seguito (cerchio rosso). Si noti che non cambia il caso degli operatori SQL. (I inviato una segnalazione di bug .)

enter image description here

0

BlancoSqlEditorPlugin è un formattatore SQL basato su plug-in Eclipse. È scritto in Java ed è OSS.

0
Tosiki Iga