SQL 쿼리 포맷터 [닫기]


14

(Linux 기반) SQL 쿼리 포맷팅 프로그램 / 플러그인 / 확장 프로그램이 있습니까?

PostgreSQL과 MySQL을 사용하지만 다른 DB도 환영합니다.

VM을 사용하여 테스트 할 수 있지만 Linux (Ubuntu) 기반 솔루션을 선호합니다.

온라인 버전을 보았지만 설치할 수있는 것은 없습니다.

Eclipse 기반 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를 누르면 자동 들여 쓰기, 모든 키워드가 UPPER로 표시되고 각 명령 / 키워드가 새 줄에서 시작합니다. 누군가 가이 긴 쿼리를 입력하거나 스크립팅하면 직접 작성하는 대신 형식을 지정하는 빠른 방법을 원합니다. 온라인 예는 다음과 같습니다. dpriver.com/pp/sqlformat.htm
Phill Pafford

1
@PhillPafford : 예, 정확히 당신이 찾고있는 것이 아닙니다. 내가 알고있는 PostgreSQL 쿼리 포맷터에 가장 가까운 것. 거기에 아무것도 없다는 것을 의미하지는 않습니다.
Erwin Brandstetter

당신은 시도 jetbrains.com/dbe
필 Pafford

3

fsqlf ( http://sourceforge.net/projects/fsqlf/ )는 보다 일반적인 (pgSQL 대신 SQL) 반면, SQL을 형식화하기 위한 명령 행 또는 GUI 프로그램 (오픈 소스)입니다. 최종 제품 모양에 많은 융통성을 제공하는 format.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 및 명령 행 버전이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.