ฟอร์แมตแบบสอบถาม SQL [ปิด]


14

มี SQL Query Formatting programs / plugins / extensions ใด ๆ หรือไม่?

ฉันใช้ PostgreSQL และ MySQL แต่ยินดีต้อนรับฐานข้อมูลอื่น ๆ เช่นกัน

ฉันสามารถใช้ VM เพื่อทดสอบด้วย แต่ต้องการโซลูชันที่ใช้ Linux (Ubuntu)

ฉันเห็นเวอร์ชันออนไลน์แล้วแต่ไม่มีอะไรติดตั้งได้

Eclipse Based 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

นี่คือตัวอย่างออนไลน์:

แต่ฉันอยากจะอยู่ในสภาพแวดล้อมท้องถิ่น

ที่เกี่ยวข้อง:

UPDATE:

มองไปที่สิ่งนี้:

การปรับปรุงครั้งสุดท้าย:

ขณะนี้อาจเป็น 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
Phill Pafford

1
@PhillPafford: ใช่ไม่ใช่สิ่งที่คุณกำลังมองหา สิ่งที่ใกล้เคียงที่สุดกับฟอร์แมตการสืบค้น PostgreSQL ที่ฉันรู้ ไม่ได้หมายความว่าไม่มีอะไรออกไป
Erwin Brandstetter

คุณลองjetbrains.com/dbe
Phill Pafford

3

ในขณะที่ทั่วไปมากขึ้น (SQL แทน pgSQL), fsqlf ( http://sourceforge.net/projects/fsqlf/ ) เป็นบรรทัดคำสั่งหรือโปรแกรม GUI, โอเพ่นซอร์สเพื่อจัดรูปแบบ 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:~] 
$ 



0

เครื่องมือแก้ไขแบบสอบถามของMySQL Workbenchนั้นมีตัวจัดรูปแบบของแบบสอบถาม SQL: คุณเพียงแค่คลิกที่ไอคอน "ตกแต่ง" ดังที่แสดงด้านล่าง (วงกลมสีแดง) โปรดทราบว่ามันจะไม่เปลี่ยนกรณีของตัวดำเนินการ SQL (ฉันส่งรายงานข้อผิดพลาด )

ป้อนคำอธิบายรูปภาพที่นี่


-1

SQLinForm ( http://www.sqlinform.com ) ขึ้นอยู่กับ Java และสามารถทำงานในสภาพแวดล้อม Linux พวกเขามี API และเวอร์ชันบรรทัดคำสั่งซึ่งคุณสามารถใช้ในสคริปต์ของคุณได้อย่างง่ายดาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.