Guide complet du formatage SQL : embellissement, minification et conseils de débogage
Pourquoi formater le SQL ?
-- ❌ Compressé sur une ligne—difficile à lire
SELECT u.id,u.name,o.total FROM users u JOIN orders o ON u.id=o.user_id WHERE o.status='paid' AND o.created_at>'2024-01-01' ORDER BY o.total DESC LIMIT 10;
-- ✅ Formaté—la structure est claire
SELECT
u.id,
u.name,
o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.status = 'paid'
AND o.created_at > '2024-01-01'
ORDER BY o.total DESC
LIMIT 10;
Le formatage rend le flux SELECT → FROM → JOIN → WHERE → ORDER BY évident d'un coup d'œil.
Utilisation du formateur SQL de ToolsKu
Étapes
- Ouvrez le Formateur SQL
- Collez votre SQL
- Embellissement automatique (mots-clés en majuscules, indentation alignée)
- Passez en mode minification pour supprimer les espaces
Dialectes SQL pris en charge
| Dialecte | Notes |
|---|---|
| SQL | SQL standard |
| MySQL | Syntaxe spécifique MySQL |
| PostgreSQL | Syntaxe spécifique PostgreSQL |
| SQLite | Base de données légère |
| T-SQL | SQL Server |
| PL/SQL | Oracle |
Conventions de formatage
Mots-clés en majuscules
SELECT, FROM, WHERE, JOIN, ON, AND, OR, ORDER BY, GROUP BY, HAVING, LIMIT
Règles d'indentation
SELECT
column1,
column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
END AS calculated
FROM table1
JOIN table2 ON table1.id = table2.ref_id
WHERE status = 'active'
AND created_at >= '2024-01-01'
GROUP BY column1, column2
HAVING COUNT(*) > 5
ORDER BY column1 DESC;
Indentation des sous-requêtes
SELECT *
FROM (
SELECT
user_id,
SUM(amount) AS total
FROM orders
WHERE status = 'paid'
GROUP BY user_id
) AS user_totals
WHERE total > 1000;
Scénarios pratiques
1. Débogage SQL depuis les logs
Les logs de production affichent souvent du SQL minifié :
[2024-06-01 10:00:00] QUERY: SELECT * FROM users WHERE email='test@example.com' AND deleted_at IS NULL
Copiez dans le Formateur SQL pour une analyse claire.
2. SQL généré par ORM
// Le SQL de Sequelize / TypeORM est souvent non formaté
console.log(query.getSql());
// → SELECT `User`.`id`, `User`.`name` FROM `users` AS `User` WHERE ...
Formatez pour voir ce que l'ORM exécute réellement.
3. JSON vers SQL
Une API renvoie un tableau JSON—vous avez besoin d'instructions INSERT :
[
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25}
]
Utilisez JSON vers SQL pour générer :
INSERT INTO users (name, age) VALUES ('Alice', 30);
INSERT INTO users (name, age) VALUES ('Bob', 25);
4. Minifier le SQL (économiser la bande passante)
Le SQL formaté est pour la lecture ; le SQL minifié est pour le transport :
-- Formaté : 15 lignes, 380 caractères
-- Minifié : 1 ligne, 195 caractères (49 % plus petit)
Problèmes courants de formatage SQL
Les mots-clés dans les chaînes restent en minuscules
-- ✅ Correct : 'select' dans une chaîne reste inchangé
SELECT * FROM logs WHERE message LIKE '%select%'
Commentaires préservés
SELECT id, name -- username
FROM users /* active user count */
WHERE status = 1
Le formateur conserve les commentaires de ligne -- et les commentaires de bloc /* */.
Résumé
Le formatage SQL est une habitude à fort impact pour les développeurs de bases de données. Le Formateur SQL de ToolsKu prend en charge plusieurs dialectes et s'exécute localement dans le navigateur—associez-le à JSON vers SQL pour un flux de travail complet des données vers SQL.