kodus/sql-split

将 SQL 文件拆分为单独查询的简单工具 - 支持 MySQL 和 PostgreSQL

2.0.0 2022-08-11 13:50 UTC

This package is auto-updated.

Last update: 2024-09-11 18:24:35 UTC


README

一个简单的解析器,用于将 SQL(和/或 DDL)文件拆分为单独的 SQL 查询并删除注释。

PHP Version Build Status

通过 Composer 安装

composer require kodus/sql-split

功能

我设计了它用于与 PDO 和 MySQL/PostgreSQL 语句一起使用。

它使用一个非常简单的递归下降解析器来最小化有效 SQL 的标记 - 这种方法确保了引号字符串、关键字、注释等之间没有歧义,但不会尝试验证 SQL 命令结构或提取语句的有效性。

它支持以下 SQL/DDL 功能

  • SQL 和 DDL 查询
  • 存储过程、函数、视图、触发器等
  • PostgreSQL 美元符号标签($$$mytag$ 分隔符)
  • MySQL 的 DELIMITER 命令

使用方法

只需这样做

$statements = Splitter::split(file_get_contents(...));

这会将它们拆分为单独的 SQL 语句(默认情况下删除注释)。

然后只需遍历您的 $statements 并通过 PDO 执行它们。

就这么简单。