Skip to content

MySQL SQL Parser Support in GSP

Explore the MySQL SQL Parser product page

This page documents the SQL syntax support for MySQL in the General SQL Parser.

Syntax Coverage Corpus

GSP tests MySQL syntax against 135 documented constructs grouped into 8 categories, each cross-referenced to the documentation that defines it (85 distinct source pages).

Parse coverage

Measured against GSP Java 4.2.8 on 2026-08-31 (UTC) (artifact sha256 1117856ef134). Each construct below carries the complete set of examples from the MySQL documentation; a construct counts as fully covered only when every one of its examples parses. Percentages are pass rates over this documented-example corpus — not a percentage of the entire SQL dialect.

Constructs fully parsed Individual statements parsed
All constructs 135 of 135 (100%) 242 of 242 (100%)
SELECT (queries) 40 of 40 (100%) 90 of 90 (100%)
DML (INSERT / UPDATE / DELETE / MERGE) 8 of 8 (100%) 16 of 16 (100%)
Stored procedures 21 of 21 (100%) 22 of 22 (100%)

Statements are split using the parser's own statement splitter, so multi-statement examples and procedure bodies are counted correctly. The SELECT, DML and stored-procedure rows classify each statement by its parsed statement type: a construct is counted in a row when its examples contain at least one statement of that class, and is fully parsed when all of them parse. Stored procedures covers CREATE PROCEDURE / FUNCTION / PACKAGE / TRIGGER definitions and anonymous blocks.

Machine-readable: dialect data (JSON) · all-dialect matrix · coverage matrix overview

All 135 constructs

Construct Category Parses Specified in
SELECT all 1 MySQL docs
SET all 2 MySQL docs
UPDATE all 2 MySQL docs
ALTER DATABASE ALTER all 1 MySQL docs
ALTER EVENT ALTER all 3 MySQL docs
ALTER INSTANCE ALTER all 2 MySQL docs
ALTER LOGFILE GROUP ALTER all 1 MySQL docs
ALTER SERVER ALTER all 1 MySQL docs
ALTER TABLE ALTER all 4 MySQL docs
ALTER TABLESPACE ALTER all 1 MySQL docs
ALTER USER ALTER all 2 MySQL docs
ALTER VIEW ALTER all 1 third-party reference
CREATE FUNCTION ALTER all 2 MySQL docs
CREATE DATABASE CREATE all 2 MySQL docs
CREATE EVENT CREATE all 1 MySQL docs
CREATE FUNCTION CREATE all 1 MySQL docs
CREATE FUNCTION IF CREATE all 1 MySQL docs
CREATE INDEX CREATE all 2 MySQL docs
CREATE LOGFILE GROUP CREATE all 2 MySQL docs
CREATE PROCEDURE CREATE all 1 MySQL docs
CREATE PROCEDURE CASE CREATE all 1 MySQL docs
CREATE PROCEDURE LOOP CREATE all 1 MySQL docs
CREATE PROCEDURE REPEAT CREATE all 1 MySQL docs
CREATE PROCEDURE RESIGNAL CREATE all 1 MySQL docs
CREATE PROCEDURE SIGNAL CREATE all 1 MySQL docs
CREATE PROCEDURE WHILE CREATE all 1 MySQL docs
CREATE ROLE CREATE all 2 MySQL docs
CREATE SCHEMA CREATE all 1 MySQL docs
CREATE SERVER CREATE all 1 MySQL docs
CREATE SPATIAL REFERENCE SYSTEM CREATE all 1 MySQL docs
CREATE TABLE CREATE all 2 MySQL docs
CREATE TABLE LIKE CREATE all 1 MySQL docs
CREATE TABLE SELECT CREATE all 1 MySQL docs
CREATE TABLE AND GENERATED COLUMNS CREATE all 1 MySQL docs
CREATE TABLE INDEX CREATE all 4 MySQL docs
CREATE TABLE SUBQUERY CREATE all 8 MySQL docs
CREATE TABLESPACE CREATE all 4 MySQL docs
CREATE TRIGGER CREATE all 1 MySQL docs
CREATE USER CREATE all 3 MySQL docs
CREATE VIEW CREATE all 1 MySQL docs
CALL DDL all 1 MySQL docs
CASE DDL all 1 MySQL docs
COMPARISON DDL all 2 MySQL docs
COMPARISON FUNCTIONS AND OPERATORS DDL all 5 MySQL docs
CORRELATED SUBQUERIES DDL all 2 MySQL docs
DEALLOCATE PREPARE DDL all 1 MySQL docs
DECLARE HANDLER DDL all 1 MySQL docs
DECLARE CONDITION DDL all 2 MySQL docs
DELETE DDL all 3 MySQL docs
DERIVED TABLES DDL all 1 MySQL docs
DO DDL all 1 MySQL docs
EVENT DDL all 5 MySQL docs
EXECUTE DDL all 1 MySQL docs
EXPLAIN DDL all 2 MySQL docs
FLUSH TABLES DDL all 1 MySQL docs
GET DIAGNOSTICS DDL all 1 MySQL docs
GRANT DDL all 1 MySQL docs
HANDLER DDL all 1 MySQL docs
IF DDL all 1 MySQL docs
IMPORT DDL all 1 MySQL docs
IMPORT TABLE DDL all 1 MySQL docs
INSERT DDL all 2 MySQL docs
INSERT SELECT DDL all 1 MySQL docs
ITERATE DDL all 1 MySQL docs
LATERAL DERIVED TABLES DDL all 2 MySQL docs
LEAVE DDL all 1 MySQL docs
LOAD DATA DDL all 2 MySQL docs
LOAD XML DDL all 2 MySQL docs
LOOP DDL all 1 MySQL docs
PREPARED DDL all 2 MySQL docs
PREPARED DDL all 1 MySQL docs
PTIMIZING SUBQUERIES DDL all 3 MySQL docs
RECURSIVE COMMON TABLE EXPRESSIONS DDL all 1 MySQL docs
RENAME TABLE DDL all 3 MySQL docs
RENAME USER DDL all 1 MySQL docs
REPEAT DDL all 1 MySQL docs
REPLACE DDL all 2 MySQL docs
RESIGNAL DDL all 1 MySQL docs
RESTRICTIONS ON SUBQUERIES DDL all 1 MySQL docs
RETURN DDL all 1 MySQL docs
REVOKE DDL all 3 MySQL docs
ROW SUBQUERIES DDL all 2 MySQL docs
SCOPE RULES FOR HANDLERS DDL all 1 MySQL docs
SHOW COLUMNS DDL all 2 MySQL docs
SHOW GLOBAL STATUS DDL all 2 MySQL docs
SIGNAL DDL all 1 MySQL docs
SUBQUERIES WITH ALL DDL all 4 MySQL docs
SUBQUERIES WITH EXISTS OR NOT EXISTS DDL all 4 MySQL docs
SUBQUERY DDL all 8 MySQL docs
TRUNCATE TABLE DDL all 1 MySQL docs
UNION DDL all 6 MySQL docs
VALUES DDL all 2 MySQL docs
WHILE DDL all 1 MySQL docs
WITH DDL all 4 MySQL docs
DROP DATABASE DROP all 1 MySQL docs
DROP EVENT DROP all 1 MySQL docs
DROP INDEX DROP all 1 MySQL docs
DROP LOGFILE GROUP DROP all 1 MySQL docs
DROP ROLE DROP all 2 MySQL docs
DROP SERVER DROP all 1 MySQL docs
DROP SPATIAL REFERENCE SYSTEM DROP all 2 MySQL docs
DROP TABLE DROP all 1 MySQL docs
DROP TABLESPACE DROP all 2 MySQL docs
DROP TRIGGER DROP all 1 MySQL docs
DROP USER DROP all 1 MySQL docs
DROP VIEW DROP all 1 MySQL docs
SELECT COMPARISON FUNCTIONS AND OPERATORS SELECT all 5 MySQL docs
SELECT COMPARISON STATEMENT SELECT all 2 MySQL docs
SELECT CONCAT STATEMENT SELECT all 1 MySQL docs
SELECT CORRELATED SUBQUERIES STATEMENT SELECT all 2 MySQL docs
SELECT DERIVED TABLES STATEMENT SELECT all 1 MySQL docs
SELECT FOR UPDATE STATEMENT SELECT all 1 MySQL docs
SELECT FROM DUAL STATEMENT SELECT all 1 MySQL docs
SELECT FROM GROUP BY HAVING STATEMENT SELECT all 1 MySQL docs
SELECT FROM GROUP BY STATEMENT SELECT all 1 MySQL docs
SELECT FROM HAVING STATEMENT SELECT all 1 MySQL docs
SELECT FROM WHERE STATEMENT SELECT all 1 MySQL docs
SELECT GROUP BY STATEMENT Select all 1 MySQL docs
SELECT INNER JOIN STATEMENT SELECT all 2 MySQL docs
SELECT INTO STATEMENT SELECT all 2 MySQL docs
SELECT JOIN STATEMENT SELECT all 2 MySQL docs
SELECT LEFT JOIN STATEMENT SELECT all 4 MySQL docs
SELECT LEFT OUTER JOIN STATEMENT SELECT all 1 MySQL docs
SELECT LIMIT STATEMENT SELECT all 3 MySQL docs
SELECT PTIMIZING SUBQUERIES STATEMENT Select all 3 MySQL docs
SELECT RESTRICTIONS ON SUBQUERIES STATEMENT SELECT all 1 MySQL docs
SELECT ROW SUBQUERIES STATEMENT SELECT all 2 MySQL docs
SELECT SELECT LATERAL DERIVED TABLES STATEMENT SELECT all 2 MySQL docs
SELECT UNION STATEMENT SELECT all 6 MySQL docs
SET CHARSET SET all 1 MySQL docs
SET GLOBAL SET all 1 MySQL docs
SET NAMES SET all 1 MySQL docs
SET PASSWORD SET all 1 MySQL docs
UPDATE ORDER BY UPDATE all 1 MySQL docs
UPDATE SET UPDATE all 1 MySQL docs

Key Features Supported

  • Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
  • MySQL-specific data types and functions
  • Stored procedures and functions
  • Triggers and events
  • Partitioning features
  • Full-text indexing and search