Formattatore query SQL [chiuso]


14

Esistono programmi / plug-in / estensioni di query SQL (basati su Linux)?

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

Posso usare una 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 eccesso, Jet Brains ha un nuovo IDE di database che ha alcune grandi opzioni di riformattazione


Hai già dato un'occhiata al formattatore SQLinForm ( sqlinform.com ). È scritto in Java e quindi funziona su Linux e ha una versione da riga di comando e API disponibili
Guido,

Risposte:


8

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

inserisci qui la descrizione dell'immagine

Naturalmente, gli identificatori misti maiuscoli e non quotati verranno inseriti in lettere minuscole. (Ma lo considero una benedizione.)

E verranno tagliate le parole di rumore come ASCinORDER BY

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.


1
Mi dispiace, penso che tu abbia frainteso la domanda, posso formattarlo da solo. Quello che sto cercando è qualcosa per farlo in un comando o IDE. Esempio: vorrei evidenziare la query e premere ctrl + maiusc + F, questo rientro automatico, tutte le parole chiave in UPPER, ogni comando / parola chiave inizia su una nuova riga, ecc ... Quindi, se qualcuno digita o ha scritto questa query lunga vorrebbe un modo rapido per formattarlo invece di farlo a mano. Ecco un esempio online: dpriver.com/pp/sqlformat.htm
Phill Pafford,

1
@PhillPafford: Sì, non esattamente quello che stai cercando. La cosa più vicina a un formulatore di query PostgreSQL che conosco. Non significa che non ci sia niente là fuori.
Erwin Brandstetter,


3

Sebbene più generico (SQL anziché 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:

  [wwalker@speedy:~] 
$ 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
  [wwalker@speedy:~] 
$ vim formatting.conf # 2 character change
  [wwalker@speedy:~] 
$ 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
  [wwalker@speedy:~] 
$ vim formatting.conf # 1 character change
  [wwalker@speedy:~] 
$ 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
  [wwalker@speedy:~] 
$ 




-1

SQLinForm ( http://www.sqlinform.com ) si basa su Java e quindi può essere eseguito in ambiente Linux. Hanno un'API e una versione della riga di comando che puoi facilmente usare nei tuoi script.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.