kodus/sql-split
A simple parser to split SQL (and/or DDL) files into individual SQL queries and strip comments., (*1)
, (*2)
Install via Composer
composer require kodus/sql-split
Features
I designed this for use with PDO and MySQL/PostgreSQL statements., (*3)
It uses a very simple recursive descent parser to minimally tokenize valid SQL - this approach ensures there
is no ambiguity between quoted strings, keywords, comments, etc. but makes no attempt to validate SQL command
structure or validity of the extracted statements., (*4)
It supports the following SQL/DDL features:, (*5)
- SQL and DDL Queries
- Stored procedures, functions, views, triggers, etc.
- PostgreSQL dollar-tags (
$$ and $mytag$ delimiters)
- The MySQL
DELIMITER command
Usage
Just this:, (*6)
$statements = Splitter::split(file_get_contents(...));
This will split to individual SQL statements and (by default) strip comments., (*7)
Then just loop over your $statements and run them via PDO., (*8)
That's all., (*9)