Formatar consultes SQL amb la indentació i capitalització adequades mentre es valida la sintaxi. Fa que les teves consultes de base de dades siguin llegibles i sense errors al moment.
Una eina senzilla per formatar i validar les teves consultes SQL amb la indentació i la comprovació de sintaxi adequades.
El Formatador i Validador SQL és una eina en línia potent i fàcil d'usar dissenyada per ajudar desenvolupadors, administradors de bases de dades i principiants en SQL a formatar i validar les seves consultes SQL de manera eficient. Aquesta eina gratuïta formatarà automàticament ordres SQL amb la indentació, capitalització i espaiat adequats segons les regles de sintaxi SQL estàndard, fent que les teves consultes siguin més llegibles i mantenibles. A més, realitza comprovacions de validació per identificar errors de sintaxi comuns abans que les executis contra la teva base de dades, estalviant potencialment hores de temps de depuració. Tant si escrius consultes complexes de bases de dades, aprenent SQL, o simplement necessites netejar codi SQL desordenat, aquest formatador i validador proporciona una interfície intuïtiva per millorar el teu flux de treball SQL instantàniament.
Utilitzar el Formatador i Validador SQL és senzill:
La interfície està dissenyada per ser intuïtiva i responsive, funcionant perfectament tant en dispositius d'escriptori com mòbils.
El formatador capitalitza automàticament paraules clau SQL com SELECT, FROM, WHERE, JOIN, etc., fent que destaquin dels noms de taules i columnes. Això millora la llegibilitat i segueix les convencions d'estil SQL estàndard.
Les consultes SQL s'indentaran segons la seva estructura lògica:
El formatador insereix salts de línia en punts lògics de la teva consulta:
També s'afegeix un espai adequat al voltant d'operadors, parèntesis i entre clàusules per millorar la llegibilitat.
El validador comprova errors de sintaxi SQL comuns i proporciona comentaris clars:
El validador també identifica errors lògics comuns:
Quan es detecten errors, es mostren en un format clar i amigable:
El formatador SQL segueix aquestes regles específiques per assegurar un SQL consistent i llegible:
Totes les paraules clau SQL es capitalitzen, incloent:
Abans de la Formatació:
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
Després de la Formatació:
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
El validador comprova els següents problemes:
SQL Invàlid amb Errors:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
Errors de Validació:
El Formatador i Validador SQL és valuós en nombrosos escenaris:
Encara que el nostre Formatador i Validador SQL proporciona funcionalitat essencial, hi ha alternatives a considerar:
SQL (Structured Query Language) es va desenvolupar als anys 70 a IBM, amb la primera implementació comercial llançada el 1979. L'American National Standards Institute (ANSI) va publicar el primer estàndard SQL el 1986, seguit per l'International Organization for Standardization (ISO) el 1987.
A mesura que SQL va evolucionar a través de múltiples estàndards (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016 i SQL:2019), les pràctiques de formatació també es van desenvolupar per millorar la llegibilitat i mantenibilitat del codi.
En els primers dies de SQL, la formatació era inconsistent i es basava en gran mesura en les preferències individuals. A mesura que els sistemes de bases de dades es van fer més complexos i el desenvolupament en equip es va fer comú, la necessitat d'una formatació estandarditzada va créixer.
Fites clau en la història de la formatació SQL:
La validació SQL ha evolucionat de la simple comprovació de sintaxi a una anàlisi més sofisticada:
Sense Formatació:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2
Formatat:
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
Sense Formatació:
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
Formatat:
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
Sense Formatació:
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
Formatat:
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
Aquí hi ha exemples de com implementar la formatació SQL en diversos llenguatges de programació:
1// Exemple de formatació SQL en JavaScript utilitzant la biblioteca 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# Exemple de formatació SQL en Python utilitzant 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// Exemple de formatació SQL en Java utilitzant 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// Exemple de formatació SQL en PHP
3function formatSQL($sql) {
4 // Substituir paraules clau per les seves versions en majúscules
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 // Afegir indentació
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
La formatació SQL és el procés d'estructurar el codi SQL amb la indentació, salts de línia i capitalització adequats per fer-lo més llegible i mantenible. Una bona formatació SQL segueix les convencions establertes com la capitalització de paraules clau, col·locar les clàusules en línies separades i utilitzar una indentació consistent per a estructures anidades.
Formatar les consultes SQL ofereix diversos beneficis:
Aquest formatador SQL suporta la sintaxi SQL estàndard que funciona a través de la majoria dels sistemes de bases de dades principals, incloent:
Si bé el formatador maneja bé el SQL estàndard, algunes característiques específiques del dialecte poden no estar formatades de manera òptima.
El validador comprova errors de sintaxi comuns i problemes estructurals, però no pot detectar tots els possibles errors, especialment aquells relacionats amb:
És millor utilitzar-lo com una primera línia de defensa abans d'executar consultes contra la teva base de dades.
Actualment, el formatador utilitza un estil estàndard basat en convencions àmpliament acceptades de SQL. Versions futures poden incloure opcions de personalització per a:
Sí, aquesta eina processa tot SQL completament al teu navegador. Les teves consultes SQL mai s'envien a cap servidor ni es desant enlloc. Això fa que sigui segur d'utilitzar amb codi SQL sensible o propietari.
Per a consultes SQL molt grans:
Aquesta eina basada en web requereix una connexió a Internet per carregar inicialment. No obstant això, un cop carregada, funciona completament al teu navegador. Per a un ús completament fora de línia, considera:
El validador se centra en elements de sintaxi comuns a través de les versions SQL (SQL-92 i posteriors). Pot no reconèixer algunes característiques específiques dels estàndards més recents o extensions propietàries. Per a la validació específica de la versió, considera utilitzar eines proporcionades pel teu proveïdor de bases de dades.
Encara que aquesta eina web no ofereix integració directa, molts IDEs tenen capacitats de formatació similars a través d'extensions o plugins. Per a fluxos de treball automatitzats, considera eines de línia de comandament com:
Prova el nostre Formatador i Validador SQL avui per millorar la qualitat, llegibilitat i correcció del teu codi SQL!
Descobreix més eines que podrien ser útils per al teu flux de treball