Format pertanyaan SQL dengan penjajaran dan kapitalisasi yang betul sambil mengesahkan sintaks. Membuat pertanyaan pangkalan data anda mudah dibaca dan bebas ralat dengan segera.
Alat mudah untuk memformat dan mengesahkan kueri SQL anda dengan penjarakan dan pemeriksaan sintaks yang betul.
Pemformat & Pengesahan SQL adalah alat dalam talian yang kuat tetapi mesra pengguna yang direka untuk membantu pemaju, pentadbir pangkalan data, dan pemula SQL memformat dan mengesahkan pertanyaan SQL mereka dengan cekap. Alat percuma ini secara automatik memformat arahan SQL dengan penjarakan, kapitalisasi, dan ruang yang betul mengikut peraturan sintaks SQL standard, menjadikan pertanyaan anda lebih mudah dibaca dan dipelihara. Selain itu, ia melakukan pemeriksaan pengesahan untuk mengenal pasti kesilapan sintaks biasa sebelum anda melaksanakannya terhadap pangkalan data anda, yang berpotensi menjimatkan berjam-jam masa penyahpepijatan. Sama ada anda menulis pertanyaan pangkalan data yang kompleks, mempelajari SQL, atau hanya perlu membersihkan kod SQL yang tidak teratur, pemformat dan pengesah ini menyediakan antara muka intuitif untuk meningkatkan aliran kerja SQL anda dengan segera.
Menggunakan Pemformat & Pengesahan SQL adalah mudah:
Antara muka ini direka untuk menjadi intuitif dan responsif, berfungsi dengan lancar pada kedua-dua peranti desktop dan mudah alih.
Pemformat secara automatik mengkapitalisasikan kata kunci SQL seperti SELECT, FROM, WHERE, JOIN, dan lain-lain, menjadikannya lebih menonjol daripada nama jadual dan lajur. Ini meningkatkan keterbacaan dan mengikuti konvensyen gaya SQL standard.
Pertanyaan SQL dipindahkan mengikut struktur logiknya:
Pemformat menyisipkan pemecahan baris di titik logik dalam pertanyaan anda:
Ruang yang betul juga ditambah di sekitar pengendali, tanda kurungan, dan antara klausa untuk meningkatkan keterbacaan.
Pengesah memeriksa kesilapan sintaks SQL yang biasa dan memberikan maklum balas yang jelas:
Pengesah juga mengenal pasti kesilapan logik biasa:
Apabila kesilapan dikesan, ia dipaparkan dalam format yang jelas dan mesra pengguna:
Pemformat SQL mengikuti peraturan khusus ini untuk memastikan SQL yang konsisten dan boleh dibaca:
Semua kata kunci SQL diubah menjadi huruf besar, 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
Selepas 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
Pengesah memeriksa isu berikut:
SQL Tidak Sah dengan Kesilapan:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
Kesilapan Pengesahan:
Pemformat & Pengesahan SQL adalah berharga dalam pelbagai senario:
Walaupun Pemformat & Pengesahan SQL kami menyediakan fungsi penting, terdapat alternatif yang perlu dipertimbangkan:
SQL (Structured Query Language) dibangunkan pada tahun 1970-an di IBM, dengan pelaksanaan komersial pertama dikeluarkan pada tahun 1979. Institut Standard Nasional Amerika (ANSI) menerbitkan standard SQL pertama pada tahun 1986, diikuti oleh Organisasi Standardisasi Antarabangsa (ISO) pada tahun 1987.
Seiring dengan evolusi SQL melalui pelbagai standard (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016, dan SQL:2019), amalan pemformatan juga berkembang untuk meningkatkan keterbacaan dan pemeliharaan kod.
Pada awal hari SQL, pemformatan adalah tidak konsisten dan kebanyakannya berdasarkan pilihan individu. Seiring dengan sistem pangkalan data yang menjadi lebih kompleks dan pembangunan berasaskan pasukan menjadi biasa, keperluan untuk pemformatan yang standard semakin meningkat.
Peristiwa penting dalam sejarah pemformatan SQL:
Pengesahan SQL telah berkembang dari pemeriksaan sintaks yang mudah kepada 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 melaksanakan pemformatan SQL dalam pelbagai bahasa pengaturcaraan:
1// Contoh pemformatan SQL JavaScript menggunakan perpustakaan 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 // Gantikan kata kunci dengan versi huruf besar
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 // Tambah penjarakan
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 kod SQL dengan penjarakan, pemecahan baris, dan kapitalisasi yang betul untuk menjadikannya lebih mudah dibaca dan dipelihara. Pemformatan SQL yang baik mengikuti konvensyen yang ditetapkan seperti mengkapitalisasikan kata kunci, meletakkan klausa pada baris berasingan, dan menggunakan penjarakan yang konsisten untuk struktur bersarang.
Memformat pertanyaan SQL menawarkan beberapa manfaat:
Pemformat SQL ini menyokong sintaks SQL standard yang berfungsi di kebanyakan sistem pangkalan data utama, termasuk:
Walaupun pemformat ini menangani SQL standard dengan baik, beberapa ciri khusus dialek mungkin tidak diformat dengan optimum.
Pengesah memeriksa kesilapan sintaks biasa dan isu struktur tetapi tidak dapat mengesan semua kemungkinan kesilapan, terutama yang berkaitan dengan:
Ia paling baik digunakan sebagai barisan pertahanan pertama sebelum melaksanakan pertanyaan terhadap pangkalan data anda.
Pada masa ini, pemformat menggunakan gaya standard berdasarkan konvensyen SQL yang diterima secara meluas. Versi akan datang mungkin termasuk pilihan penyesuaian untuk:
Ya, alat ini memproses semua SQL sepenuhnya di pelayar anda. Pertanyaan SQL anda tidak pernah dihantar ke mana-mana pelayan atau disimpan di mana-mana tempat. Ini menjadikannya selamat untuk digunakan dengan kod SQL yang sensitif atau hak milik.
Untuk pertanyaan SQL yang sangat besar:
Alat berasaskan web ini memerlukan sambungan internet untuk dimuatkan pada awalnya. Walau bagaimanapun, setelah dimuatkan, ia berfungsi sepenuhnya di pelayar anda. Untuk penggunaan secara luar talian sepenuhnya, pertimbangkan:
Pengesah memberi tumpuan kepada elemen sintaks yang biasa merentasi versi SQL (SQL-92 dan seterusnya). Ia mungkin tidak mengenali beberapa ciri khusus kepada standard SQL terkini atau lanjutan proprietari. Untuk pengesahan khusus versi, pertimbangkan menggunakan alat yang disediakan oleh vendor pangkalan data anda.
Walaupun alat web ini tidak menawarkan integrasi langsung, banyak IDE mempunyai keupayaan pemformatan serupa melalui sambungan atau plugin. Untuk aliran kerja automatik, pertimbangkan alat pemformatan baris perintah seperti:
Cuba Pemformat & Pengesahan SQL kami hari ini untuk meningkatkan kualiti, keterbacaan, dan ketepatan kod SQL anda!
Temui lebih banyak alat yang mungkin berguna untuk aliran kerja anda