Format kueri SQL dengan indentasi dan kapitalisasi yang tepat sambil memvalidasi sintaks. Membuat kueri basis data Anda mudah dibaca dan bebas kesalahan secara instan.
Alat sederhana untuk memformat dan memvalidasi kueri SQL Anda dengan indentasi yang tepat dan pemeriksaan sintaks.
SQL Formatter & Validator adalah alat online yang kuat namun mudah digunakan, dirancang untuk membantu pengembang, administrator basis data, dan pemula SQL dalam memformat dan memvalidasi kueri SQL mereka dengan efisien. Alat gratis ini secara otomatis memformat perintah SQL dengan indentasi, kapitalisasi, dan spasi yang tepat sesuai dengan aturan sintaks SQL standar, menjadikan kueri Anda lebih mudah dibaca dan dipelihara. Selain itu, alat ini melakukan pemeriksaan validasi untuk mengidentifikasi kesalahan sintaks umum sebelum Anda mengeksekusinya terhadap basis data Anda, yang dapat menghemat waktu debugging yang berjam-jam. Apakah Anda sedang menulis kueri basis data yang kompleks, belajar SQL, atau hanya perlu membersihkan kode SQL yang berantakan, pemformat dan validator ini menyediakan antarmuka yang intuitif untuk meningkatkan alur kerja SQL Anda secara instan.
Menggunakan SQL Formatter & Validator sangatlah sederhana:
Antarmuka dirancang agar intuitif dan responsif, bekerja dengan mulus di perangkat desktop dan seluler.
Pemformat secara otomatis mengkapitalisasi kata kunci SQL seperti SELECT, FROM, WHERE, JOIN, dll., menjadikannya lebih menonjol dibandingkan nama tabel dan kolom. Ini meningkatkan keterbacaan dan mengikuti konvensi gaya SQL standar.
Kueri SQL diindentasikan sesuai dengan struktur logisnya:
Pemformat menyisipkan pemisahan baris di titik logis dalam kueri Anda:
Spasi yang tepat juga ditambahkan di sekitar operator, tanda kurung, dan antara klausa untuk meningkatkan keterbacaan.
Validator memeriksa kesalahan sintaks SQL umum dan memberikan umpan balik yang jelas:
Validator juga mengidentifikasi kesalahan logis umum:
Ketika kesalahan terdeteksi, kesalahan tersebut ditampilkan dalam format yang jelas dan ramah pengguna:
Pemformat SQL mengikuti aturan spesifik ini untuk memastikan SQL yang konsisten dan mudah dibaca:
Semua kata kunci SQL dikapitalisasi, termasuk:
Sebelum Pemformatan:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2
Sesudah Pemformatan:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13
Validator memeriksa masalah berikut:
SQL Tidak Valid dengan Kesalahan:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
Kesalahan Validasi:
SQL Formatter & Validator sangat berharga dalam berbagai skenario:
Sementara SQL Formatter & Validator kami menyediakan fungsionalitas penting, ada alternatif yang perlu dipertimbangkan:
SQL (Structured Query Language) dikembangkan pada tahun 1970-an di IBM, dengan implementasi komersial pertama dirilis pada tahun 1979. American National Standards Institute (ANSI) menerbitkan standar SQL pertama pada tahun 1986, diikuti oleh International Organization for Standardization (ISO) pada tahun 1987.
Seiring SQL berkembang melalui beberapa standar (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016, dan SQL:2019), praktik pemformatan juga berkembang untuk meningkatkan keterbacaan dan pemeliharaan kode.
Pada awal perkembangan SQL, pemformatan tidak konsisten dan sebagian besar berdasarkan preferensi individu. Seiring dengan semakin kompleksnya sistem basis data dan berkembangnya pengembangan berbasis tim, kebutuhan akan pemformatan yang distandarisasi semakin meningkat.
Tonggak sejarah utama dalam sejarah pemformatan SQL:
Validasi SQL telah berkembang dari pemeriksaan sintaks sederhana menjadi analisis yang lebih canggih:
Tidak Diformat:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2
Diformat:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13
Tidak Diformat:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2
Diformat:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14
Tidak Diformat:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2
Diformat:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27
Berikut adalah contoh cara mengimplementasikan pemformatan SQL dalam berbagai bahasa pemrograman:
1// Contoh pemformatan SQL JavaScript menggunakan pustaka sql-formatter
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
16
1# Contoh pemformatan SQL Python menggunakan sqlparse
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
16
1// Contoh pemformatan SQL Java menggunakan JSqlParser
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
21
1<?php
2// Contoh pemformatan SQL PHP
3function formatSQL($sql) {
4 // Ganti kata kunci dengan versi kapitalnya
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // Tambahkan indentasi
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32
Pemformatan SQL adalah proses menyusun kode SQL dengan indentasi, pemisahan baris, dan kapitalisasi yang tepat untuk membuatnya lebih mudah dibaca dan dipelihara. Pemformatan SQL yang baik mengikuti konvensi yang telah ditetapkan seperti mengkapitalisasi kata kunci, menempatkan klausa di baris terpisah, dan menggunakan indentasi yang konsisten untuk struktur bersarang.
Memformat kueri SQL menawarkan beberapa manfaat:
Pemformat SQL ini mendukung sintaks SQL standar yang bekerja di sebagian besar sistem basis data utama, termasuk:
Meskipun pemformat menangani SQL standar dengan baik, beberapa fitur spesifik dialek mungkin tidak diformat secara optimal.
Validator memeriksa kesalahan sintaks umum dan masalah struktural tetapi tidak dapat mendeteksi semua kemungkinan kesalahan, terutama yang terkait dengan:
Sebaiknya digunakan sebagai garis pertahanan pertama sebelum mengeksekusi kueri terhadap basis data Anda.
Saat ini, pemformat menggunakan gaya standar berdasarkan konvensi SQL yang diterima secara luas. Versi mendatang mungkin menyertakan opsi penyesuaian untuk:
Ya, alat ini memproses semua SQL sepenuhnya di browser Anda. Kueri SQL Anda tidak pernah dikirim ke server mana pun atau disimpan di mana pun. Ini membuatnya aman untuk digunakan dengan kode SQL yang sensitif atau kepemilikan.
Untuk kueri SQL yang sangat besar:
Alat berbasis web ini memerlukan koneksi internet untuk dimuat awalnya. Namun, setelah dimuat, alat ini berfungsi sepenuhnya di browser Anda. Untuk penggunaan sepenuhnya offline, pertimbangkan:
Validator fokus pada elemen sintaks yang umum di seluruh versi SQL (SQL-92 dan lebih baru). Ini mungkin tidak mengenali beberapa fitur khusus dari standar SQL terbaru atau ekstensi proprietari. Untuk validasi khusus versi, pertimbangkan menggunakan alat yang disediakan oleh vendor basis data Anda.
Sementara alat web ini tidak menawarkan integrasi langsung, banyak IDE memiliki kemampuan pemformatan serupa melalui ekstensi atau plugin. Untuk alur kerja otomatis, pertimbangkan alat pemformatan baris perintah seperti:
Cobalah SQL Formatter & Validator kami hari ini untuk meningkatkan kualitas, keterbacaan, dan keakuratan kode SQL Anda!
Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda