SQL Format

Collez votre SQL dans la zone ci-dessous et utilisez les options disponibles pour le formater. SQL-Format a été créé par des administrateurs de bases de données selon les standards de l’industrie et des grandes entreprises tech. Profitez-en !

Options de mise en forme
Lignes: 1 Caractères: 0 Ln 1, Col 1 SQL · UTF-8

Ce qu'est SQL Format et à qui il s'adresse

SQL Format est un formateur en ligne gratuit qui transforme du SQL tassé, écrit sur une seule ligne ou indenté de façon incohérente, en une mise en page propre et prévisible. Chaque clause commence sur sa propre ligne, les listes de colonnes sont découpées à raison d'un élément par ligne, les jointures et leurs conditions sont indentées sous la table à laquelle elles se rapportent, et les requêtes imbriquées sont indentées à l'intérieur de leurs parenthèses.

Il est conçu pour celles et ceux qui lisent du SQL toute la journée : développeurs qui relisent une pull request, DBA qui démêlent une requête lente capturée dans un journal, analystes qui mettent au propre un rapport avant de le partager, et quiconque a hérité d'une instruction de 300 lignes écrite sur une seule ligne. La mise en page suit des conventions utilisées de longue date par les équipes de bases de données, et les options ci-dessous vous permettent de l'adapter au style de votre propre équipe.

Comment utiliser le formateur

  1. Collez ou saisissez votre SQL dans l'éditeur. Vous pouvez coller plusieurs instructions à la fois ; elles sont séparées au niveau des points-virgules et formatées l'une après l'autre.
  2. Ajustez les options si nécessaire : taille de l'indentation, largeur maximale de ligne, position des virgules, casse des mots-clés et placement ou non des parenthèses ouvrantes sur leur propre ligne.
  3. Cliquez sur Formater ou appuyez sur Ctrl + Enter (⌘ + Enter sur Mac). Le SQL formaté remplace le texte de l'éditeur.
  4. Utilisez Copier pour placer le résultat dans le presse-papiers, ou Effacer pour recommencer. La barre d'état affiche le nombre de lignes et de caractères ainsi que la position de votre curseur.

Les options de mise en forme

Cinq options contrôlent le résultat. Les valeurs par défaut (indentation de 4 espaces, 120 colonnes, virgules en fin, mots-clés en majuscules, parenthèses sur la même ligne) conviennent à la plupart des équipes ; chaque option a sa propre page avec davantage d'exemples.

Espaces d'indentation

Espaces d'indentation définit le nombre d'espaces utilisés par chaque niveau d'imbrication, à partir de 0 ; la valeur par défaut est 4. Les tabulations présentes dans votre saisie sont remplacées par ce même nombre d'espaces, sauf à l'intérieur des littéraux de chaîne et des identifiants entre guillemets. L'exemple ci-dessous utilise 2.

Après, mis en forme par SQL Format
Options: Espaces d'indentation 2 · Nombre maximal de colonnes 120 · Virgules: Après · Mots-clés: Majuscules · Parenthèses sur une nouvelle ligne: non
SELECT c.name,
  SUM(o.total) AS revenue
FROM customers c
  JOIN orders o
    ON  o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.name

En savoir plus : Option Espaces d'indentation

Nombre maximal de colonnes

Nombre maximal de colonnes est la largeur de ligne visée par le formateur (120 par défaut). Les expressions longues sont réparties sur plusieurs lignes pour la respecter ; 0 désactive le retour à la ligne.

Après, mis en forme par SQL Format
Options: Espaces d'indentation 4 · Nombre maximal de colonnes 60 · Virgules: Après · Mots-clés: Majuscules · Parenthèses sur une nouvelle ligne: non
SELECT order_id,
    quantity * unit_price * (1 - discount_rate) * (1 +
      tax_rate) + shipping_fee - loyalty_credit AS
      amount_due
FROM order_lines
WHERE order_id = 42

En savoir plus : Option Nombre maximal de colonnes

Virgules

Virgules permet de choisir entre les virgules en fin (après chaque élément, par défaut) et les virgules en tête (au début de la ligne suivante). Les virgules en tête facilitent la mise en commentaire d'une colonne et produisent des diffs plus petits lorsque vous en ajoutez une à la fin.

Après, mis en forme par SQL Format
Options: Espaces d'indentation 4 · Nombre maximal de colonnes 120 · Virgules: Avant · Mots-clés: Majuscules · Parenthèses sur une nouvelle ligne: non
SELECT id
    ,email
    ,country_code
    ,created_at
FROM customers

En savoir plus : Option Virgules

Mots-clés

Mots-clés met les mots-clés SQL tels que SELECT, FROM et JOIN en majuscules (par défaut) ou en minuscules. Les littéraux de chaîne et les commentaires restent tels que vous les avez écrits.

Après, mis en forme par SQL Format
Options: Espaces d'indentation 4 · Nombre maximal de colonnes 120 · Virgules: Après · Mots-clés: Minuscules · Parenthèses sur une nouvelle ligne: non
select id,
    name
from products
where price > 100
order by name

En savoir plus : Option Mots-clés

Parenthèses sur une nouvelle ligne

Parenthèses sur une nouvelle ligne place la parenthèse ouvrante d'un bloc, comme une sous-requête après IN, le corps d'une CTE ou une liste répartie sur plusieurs lignes, sur sa propre ligne au lieu de la laisser à la fin de la ligne précédente.

Après, mis en forme par SQL Format
Options: Espaces d'indentation 4 · Nombre maximal de colonnes 120 · Virgules: Après · Mots-clés: Majuscules · Parenthèses sur une nouvelle ligne: oui
SELECT name
FROM customers
WHERE id IN
(
    SELECT customer_id
    FROM orders
    WHERE total > 500
)

En savoir plus : Option Parenthèses sur une nouvelle ligne

Quels dialectes SQL il comprend

Le formateur n'est pas lié à une seule base de données. Il traite le SQL commun aux principaux moteurs : SELECT avec jointures, sous-requêtes et CASE, INSERT, UPDATE, DELETE, le DDL courant comme CREATE TABLE et CREATE VIEW, ainsi que les commentaires sous les formes -- et /* */, qui sont conservés.

Il offre une prise en charge supplémentaire de PostgreSQL : conversions de type ::, paramètres $1 et corps entre dollars $$ … $$, dont le PL/pgSQL est mis en forme bloc par bloc. Les identifiants entre accents graves de MySQL et les identifiants entre crochets [bracket] de SQL Server sont conservés intacts. Il n'y a pas de sélecteur de dialecte : les autres syntaxes propres à une seule base de données, comme le séparateur de lots GO de SQL Server, ne font l'objet d'aucun traitement particulier. Les guides des dialectes expliquent les différences.

Ce que devient votre SQL

Lorsque vous cliquez sur Formater, le SQL de l'éditeur est envoyé à notre serveur via HTTPS, formaté en mémoire et renvoyé immédiatement dans la page. Il n'est enregistré ni dans une base de données, ni dans un fichier, ni dans un journal, et il n'est pas partagé avec des partenaires de mesure d'audience ou de publicité. Évitez néanmoins de coller de vrais mots de passe, clés ou données personnelles dans un outil en ligne, quel qu'il soit ; la page de confidentialité donne tous les détails.

Informations de confidentialité

Questions fréquentes

Mon SQL est-il stocké quelque part ?

Non. Le SQL est formaté en mémoire sur le serveur pour cette seule demande et renvoyé dans la réponse. Il n'est enregistré ni dans une base de données, ni dans un fichier, ni dans un journal.

Le formatage peut-il modifier ce que fait ma requête ?

Il est conçu pour ne modifier que les espaces, les sauts de ligne et la casse des mots-clés, jamais l'ordre ni la logique de votre SQL. Comme avec tout outil qui réécrit du code, relisez le résultat avant de l'exécuter sur une base de données de production. Notez que la casse des mots-clés s'applique aussi aux noms qui sont des mots-clés SQL, comme une colonne nommée month.

Avec quelles bases de données fonctionne-t-il ?

Il formate le SQL commun à PostgreSQL, MySQL, SQL Server, Oracle, Db2 et SQLite, avec une prise en charge supplémentaire des conversions de type, des paramètres et des corps PL/pgSQL de PostgreSQL. Il n'y a pas de sélecteur de dialecte.

Y a-t-il une limite de taille ?

Oui. Une seule demande peut contenir jusqu'à 20 000 lignes de SQL.

Puis-je formater plusieurs instructions à la fois ?

Oui. Séparez-les par des points-virgules ; chaque instruction est formatée séparément et elles conservent leur ordre d'origine.

Est-ce payant ou faut-il un compte ?

Non. Le formateur est gratuit et ne nécessite aucune inscription.

Voir toutes les questions fréquentes

Guides et références

Au-delà de l'outil, ces guides présentent les conventions qui rendent le SQL lisible :