Форматор запитів SQL [закрито]


14

Чи існують програми (плагіни / розширення) для форматування запитів SQL?

Я використовую PostgreSQL та MySQL, але також вітаються інші БД.

Я можу використовувати VM для тестування, але вважаю за краще рішення на базі Linux (Ubuntu).

Я бачив онлайн-версію, але нічого не встановив.

Плюс також є IDE на основі затемнення

Приклад:

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

на щось подібне

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

Ось онлайн-приклад:

Але я вважаю за краще це бути в місцевому середовищі

Пов'язані:

ОНОВЛЕННЯ:

Дивлячись на це:

ПІДСУМКОВА ОНОВЛЕННЯ:

Хоча це може бути надмірний вміст Jet Brains має нову IDE бази даних, яка має кілька чудових варіантів переформатування


Ви вже ознайомилися з форматом SQLinForm ( sqlinform.com ). Він написаний на Java і, таким чином, працює на Linux і має версію командного рядка та доступний API
Guido,

Відповіді:


8

pgAdmin поставляється із вбудованим форматором запитів. Ви створили б перегляд, щоб побачити запит у такому форматі:

введіть тут опис зображення

Звичайно, без котирування змішані ідентифікатори випадків будуть передані в малі регістри. (Але я вважаю це благом.)

І шумові слова, як ASCуORDER BY будуть підстрижені.

І останнє, але не менш важливе, погляд повинен був би бути дійсним в базі даних для початку. Тож не зовсім те, про що ви просили. Запити фактично зворотні з визначення перегляду.


1
Вибачте, я думаю, що ви неправильно зрозуміли це питання, я можу сам це відформатувати. Що я шукаю, це щось робити в команді або IDE. Приклад: Я б виділив запит і натиснув ctrl + shift + F, це буде автоматично відступати, все ключове слово вгору, кожна команда / ключове слово починається в новому рядку тощо. Отже, якщо хтось вводить або сценарій цього довгого запиту, я просто хотів би швидкий спосіб відформатувати його, а не робити це вручну. Ось приклад в Інтернеті: dpriver.com/pp/sqlformat.htm
Філл Паффорд

1
@PhillPafford: Так, не зовсім те, що ви шукаєте. Найближче до форматора запитів PostgreSQL, який я знаю. Це не означає, що там нічого немає.
Ервін Брандстеттер

Ви спробували jetbrains.com/dbe
Філл Паффорд

3

Хоча більш загальний (SQL замість pgSQL), fsqlf ( http://sourceforge.net/projects/fsqlf/ ) - це командний рядок або програма з графічним інтерфейсом з відкритим кодом для форматування SQL. Він підтримує файл formatting.conf, який дозволяє отримати велику гнучкість у тому, як виглядає кінцевий продукт.

Приклади:

  [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 ) заснований на Java і, таким чином, може працювати в середовищі Linux. У них є версія API та командного рядка, яку ви можете легко використовувати у своїх сценаріях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.