This package is abandoned and no longer maintained. The author suggests using the kodus/sql-split package instead.

A simple facility to split SQL files into individual queries - supports MySQL, PostgreSQL and Microsoft SQL Server

1.0.0 2017-05-19 10:28 UTC

This package is auto-updated.

Last update: 2021-03-15 20:43:27 UTC


A simple parser to split SQL (and/or DDL) files into individual SQL queries.

This is an unofficial PHP port of SQL-Statement-Parser by TeamSQL.

PHP Version Build Status

Install via Composer

composer require kodus/sql-splitter


Supported SQL File Formats:

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server

Specifically with support for the following SQL/DDL features:

  • SQL and DDL Queries
  • Stored procedures, functions, views, etc.
  • PostgreSQL's dollar-tags (e.g. $$ and $mytag$, etc.)


Pick one of the platform-specific methods:

$statements = SQLSplitter::splitMySQL(file_get_contents(...));
$statements = SQLSplitter::splitMSSQL(file_get_contents(...));
$statements = SQLSplitter::splitPostgreSQL(file_get_contents(...));

Or dynamically pick one based on the PDO driver-name:

$driver = $pdo->getAttribute(PDO::ATTR_DRIVER_NAME);

$statements = SQLSplitter::split($driver, file_get_contents(...));

Driver-names are also available as SQLSplitter class-constants, e.g. DB_MYSQL, DB_MSSQL and DB_PGSQL.