Comment utiliser : Vérificateur de syntaxe MySQL
- Choisissez votre dialecte de base de données (MySQL, PostgreSQL, SQL Server, SQLite, BigQuery et d’autres).
- Collez ou ouvrez votre SQL. Plusieurs instructions séparées par des points-virgules sont acceptées.
- Les erreurs affichent la ligne, la colonne et les jetons attendus, avec l’emplacement fautif mis en évidence.
- Les instructions valides sont listées avec leur type et les tables concernées, accompagnées d’avertissements pour les schémas à risque.
Que vérifie un validateur SQL ?
Un validateur SQL (ou vérificateur de syntaxe) analyse votre requête avec la grammaire d’une base de données précise et indique si elle est bien formée : parenthèses équilibrées, mots-clés dans le bon ordre, expressions valides, virgules entre les colonnes, etc. Cet outil découpe votre script en instructions, analyse chacune séparément pour que vous voyiez toutes les instructions défectueuses d’un coup, et pointe la ligne et la colonne où l’analyse s’est arrêtée. La grammaire MySQL est sélectionnée par défaut.
Avertissements de bonnes pratiques
| Avertissement | Pourquoi c’est important |
|---|---|
UPDATE / DELETE sans WHERE | Modifie chaque ligne de la table, ce qui est généralement une erreur. |
SELECT * | Récupère des colonnes dont vous n’avez peut-être pas besoin et casse le code lorsque des colonnes sont ajoutées ou réordonnées. |
INSERT sans liste de colonnes | Dépend de l’ordre des colonnes : l’ajout d’une colonne le fait échouer. |
LIKE '%…' | Un joker en début de motif ne peut pas utiliser un index classique et parcourt toute la table. |
= NULL | Ne renvoie jamais vrai ; utilisez IS NULL. |
ORDER BY sans LIMIT dans une sous-requête, ou LIMIT sans ORDER BY | L’ordre des lignes n’est pas garanti sans tri explicite. |
Différences entre dialectes qui provoquent des erreurs
- Guillemets d’identifiants : MySQL et MariaDB utilisent les guillemets inversés (
`order`), PostgreSQL, SQLite et le standard SQL utilisent les guillemets doubles, SQL Server utilise les crochets ([order]). - Limitation de lignes :
LIMIT 10dans MySQL, PostgreSQL et SQLite ;TOP 10ouOFFSET … FETCHdans SQL Server. - Upserts :
ON DUPLICATE KEY UPDATE(MySQL) contreON CONFLICT … DO UPDATE(PostgreSQL, SQLite) contreMERGE(SQL Server, Snowflake, BigQuery). - Conversions de type : PostgreSQL accepte
value::int; la plupart des autres moteurs exigentCAST(value AS INT).
Erreurs de syntaxe MySQL courantes
Le message propre à MySQL, « You have an error in your SQL syntax… near '…' at line 1 », cite le texte à partir du point où l’analyse a échoué. Les causes les plus fréquentes sont les mots réservés utilisés comme noms (order, group, key : entourez-les de guillemets inversés), une virgule superflue avant FROM, les guillemets doubles pour les identifiants (MySQL les traite comme des chaînes, sauf si ANSI_QUOTES est activé) et une virgule manquante entre deux colonnes.
Rendez votre requête plus lisible avec le formateur SQL, générez des instructions à partir de données avec CSV vers SQL ou JSON vers SQL, et concevez vos tables avec le générateur CREATE TABLE.
Aussi recherché comme : vérificateur syntaxe mysql, valider requête mysql, vérifier syntaxe sql mysql, erreur syntaxe mysql, linter mysql, validateur requête sql, mariadb syntax checker, correcteur syntaxe sql.
Outils complémentaires : Vérificateur de syntaxe MySQL
- Validateur SQL — Collez une requête ou un script complet pour en vérifier la syntaxe selon la grammaire de votre base de données.
- Vérificateur de syntaxe PostgreSQL — Validez vos requêtes PostgreSQL directement dans votre navigateur.
- Excel vers JSON — Ouvrez un classeur .xlsx ou collez directement des cellules depuis Excel ou Google Sheets pour obtenir un JSON propre.
- JSON vers Excel — Transformez un tableau JSON en véritable classeur Excel.
Questions fréquentes
Mon SQL est-il envoyé à un serveur ou à une base de données ?
Un résultat valide garantit-il que la requête s’exécutera ?
Pourquoi l’erreur est-elle signalée après ma faute ?
WHER, est souvent lu comme un alias, si bien que l’erreur apparaît sur le mot suivant. Vérifiez aussi le jeton qui précède la position signalée.