Skip to content

Latest commit

 

History

History
47 lines (30 loc) · 1.36 KB

README.md

File metadata and controls

47 lines (30 loc) · 1.36 KB

SQL Statement Splitter

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

Features

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.)
  • MySQL's DELIMITER

Usage

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.