PHPackages                             chenyongze/parse-sql-file - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. chenyongze/parse-sql-file

ActiveLibrary

chenyongze/parse-sql-file
=========================

可以读取sql文件，并获得纯sql语句

4573PHP

Since May 1Pushed 9y ago1 watchersCompare

[ Source](https://github.com/chenyongze/parse-sql-file)[ Packagist](https://packagist.org/packages/chenyongze/parse-sql-file)[ RSS](/packages/chenyongze-parse-sql-file/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

简介
--

[](#简介)

这是一个简单易用的PHP类库，可以读取sql文件，并获得纯sql语句。

支持
--

[](#支持)

经测试，从**Navicat for MySql** 和 **phpMyAdmin**导出的sql文件均可读取。

\##安装
-----

[](#安装)

`composer require chenyongze/parse-sql-file:dev-master`

使用
--

[](#使用)

- 导入类库：

```
require_once __DIR__.'./../vendor/autoload.php';
use Yongze\ParseSql\Sql;
```

- 直接调用静态方法：

`Sql::getSqlFromFile($file_path)`

### 默认已数组形式返回sql语句

[](#默认已数组形式返回sql语句)

```
Sql::getSqlFromFile($file_path)；
```

```
array(8) {
  [0]=>  string(24) "SET FOREIGN_KEY_CHECKS=0"
  [1]=>  string(38) "DROP TABLE IF EXISTS `my_plugin_hello`"
  [2]=>  string(251) "CREATE TABLE `my_plugin_hello` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(32) NOT NULL DEFAULT '' COMMENT '名人',  `said` text NOT NULL COMMENT '名言',  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8"
  [3]=>  string(146) "INSERT INTO `my_plugin_hello` VALUES ('1', '网络', '生活是一面镜子。你对它笑，它就对你笑；你对它哭，它也对你哭。')"
  [4]=>  string(176) "INSERT INTO `my_plugin_hello` VALUES ('2', '网络', '活着一天，就是有福气，就该珍惜。当我哭泣我没有鞋子穿的时候，我发现有人却没有脚。')"
  [5]=>  string(122) "INSERT INTO `my_plugin_hello` VALUES ('3', '爱迪生', '天才是百分之一的灵感加百分之九十九的汗水。')"
  [6]=>  string(128) "INSERT INTO `my_plugin_hello` VALUES ('4', '美华纳', '勿问成功的秘诀为何，且尽全力做你应该做的事吧。')"
  [7]=>  string(101) "INSERT INTO `my_plugin_hello` VALUES ('5', '陶铸', '如烟往事俱忘却，心底无私天地宽')"
}
```

### 以单条语句返回

[](#以单条语句返回)

> 只需将第二个参数设为`true`即可。

```
Sql::getSqlFromFile($file_path, true)；
```

```
string(994) "SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS `my_plugin_hello`;CREATE TABLE `my_plugin_hello` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(32) NOT NULL DEFAULT '' COMMENT '名人',  `said` text NOT NULL COMMENT '名言',  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;INSERT INTO `my_plugin_hello` VALUES ('1', '网络', '生活是一面镜子。你对它笑，它就对你笑；你对它哭，它也对你哭。');INSERT INTO `my_plugin_hello` VALUES ('2', '网络', '活着一天，就是有福气，就该珍惜。当我哭泣我没有鞋子穿的时候，我发现有人却没有脚。');INSERT INTO `my_plugin_hello` VALUES ('3', '爱迪生', '天才是百分之一的灵感加百分之九十九的汗水。');INSERT INTO `my_plugin_hello` VALUES ('4', '美华纳', '勿问成功的秘诀为何，且尽全力做你应该做的事吧。');INSERT INTO `my_plugin_hello` VALUES ('5', '陶铸', '如烟往事俱忘却，心底无私天地宽');"
```

### 替换表前缀

[](#替换表前缀)

> 有时候我们读取sql文件时，可能想要替换表前缀，那么可以添加第三个参数。

```
Sql::getSqlFromFile($file_path, true, array('my_' => 'me_'))；
```

```
array(8) {
  [0]=>  string(24) "SET FOREIGN_KEY_CHECKS=0"
  [1]=>  string(38) "DROP TABLE IF EXISTS `me_plugin_hello`"
  [2]=>  string(251) "CREATE TABLE `me_plugin_hello` (  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,  `name` varchar(32) NOT NULL DEFAULT '' COMMENT '名人',  `said` text NOT NULL COMMENT '名言',  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8"
  [3]=>  string(146) "INSERT INTO `me_plugin_hello` VALUES ('1', '网络', '生活是一面镜子。你对它笑，它就对你笑；你对它哭，它也对你哭。')"
  [4]=>  string(176) "INSERT INTO `me_plugin_hello` VALUES ('2', '网络', '活着一天，就是有福气，就该珍惜。当我哭泣我没有鞋子穿的时候，我发现有人却没有脚。')"
  [5]=>  string(122) "INSERT INTO `me_plugin_hello` VALUES ('3', '爱迪生', '天才是百分之一的灵感加百分之九十九的汗水。')"
  [6]=>  string(128) "INSERT INTO `me_plugin_hello` VALUES ('4', '美华纳', '勿问成功的秘诀为何，且尽全力做你应该做的事吧。')"
  [7]=>  string(101) "INSERT INTO `me_plugin_hello` VALUES ('5', '陶铸', '如烟往事俱忘却，心底无私天地宽')"
}
```

> 如果你有更好的想法，不妨一起完善它吧，虽然是很微不足道的东西^\_^

开源协议
----

[](#开源协议)

[MIT license](http://www.opensource.org/licenses/MIT).

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fe9551b1d68eb930b67530c12424e256c85d5eb45ad5899e40b2fc625f5e95b7?d=identicon)[chenyongze](/maintainers/chenyongze)

---

Top Contributors

[![chenyongze](https://avatars.githubusercontent.com/u/4531363?v=4)](https://github.com/chenyongze "chenyongze (9 commits)")

### Embed Badge

![Health badge](/badges/chenyongze-parse-sql-file/health.svg)

```
[![Health](https://phpackages.com/badges/chenyongze-parse-sql-file/health.svg)](https://phpackages.com/packages/chenyongze-parse-sql-file)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
