kdous/sql-splitter

此包已被放弃且不再维护。作者建议使用kdous/sql-split包。

一个简单的工具,可以将SQL文件分割成单独的查询 - 支持 MySQL、PostgreSQL 和 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


README

一个简单的解析器,用于将SQL(和/或DDL)文件分割成单独的SQL查询。

这是TeamSQL的SQL-Statement-Parser的不官方PHP移植。

PHP Version Build Status

通过Composer安装

composer require kodus/sql-splitter

特性

支持的SQL文件格式

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server

特别支持以下SQL/DDL特性

  • SQL和DDL查询
  • 存储过程、函数、视图等
  • PostgreSQL的美元标签(例如 $$$mytag$ 等)
  • MySQL的 DELIMITER

使用

选择一个特定平台的方法

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

或者根据PDO驱动名称动态选择一个

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

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

驱动名称也作为 SQLSplitter 类的常量提供,例如 DB_MYSQLDB_MSSQLDB_PGSQL