kodus / sql-split
将 SQL 文件拆分为单独查询的简单工具 - 支持 MySQL 和 PostgreSQL
2.0.0
2022-08-11 13:50 UTC
Requires
- php: >=8.0
Requires (Dev)
README
一个简单的解析器,用于将 SQL(和/或 DDL)文件拆分为单独的 SQL 查询并删除注释。
通过 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
执行它们。
就这么简单。