PHPackages                             sqltranslator/sql-translator - 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. [Database &amp; ORM](/categories/database)
4. /
5. sqltranslator/sql-translator

ActiveLibrary[Database &amp; ORM](/categories/database)

sqltranslator/sql-translator
============================

Data Model, SQL Maker

v1.20(8y ago)41051[1 PRs](https://github.com/xyq162089/sqltranslator/pulls)BSD-2-ClausePHPPHP &gt;=5.4.0

Since Sep 14Pushed 6y ago1 watchersCompare

[ Source](https://github.com/xyq162089/sqltranslator)[ Packagist](https://packagist.org/packages/sqltranslator/sql-translator)[ RSS](/packages/sqltranslator-sql-translator/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (4)DependenciesVersions (4)Used By (0)

sqltranslator
=============

[](#sqltranslator)

---

SQL生成助手！
========

[](#sql生成助手)

更新日志
----

[](#更新日志)

- 2016-08-15 创建项目
- 2016-08-30 项目更新--修复了不能调用的BUG
- 2016-10-18 引入PDO，完善功能。
- 2016-10-19 配置文件外部导入。
- 2017-01-19 查询字段格式统一，新增插入唯一时更新功能
- 2017-04-11 新增行锁接口 --

\#调用方式 ###查询

```
$model = (new \SqlTranslator\Database())->config('mysql://root:#PWD@127.0.0.1:3306/demo')->pick('pdo');

$sql = $model->select()
                ->from(['a' => 'jst_book'], ['id', 'a.name', 'n' => '#NOW()'])
                ->joinLeft(['b' => 'jst_book_detail'], 'a.id = b.id', ['b.detail', 'b.cconte', 's' => '#NOW()'])
                ->where('a.id=1')->lock();
$result = $model->fetchAll($sql);

var_dump($result);exit;
exit;
```

---

\###开启事务

```
$model = (new \SqlTranslator\Database())->config('mysql://root:#PWD@127.0.0.1:3306/demo')->pick('pdo');
$translator = new \SqlTranslator\SqlTranslator();
try {
  $model->beginTransaction();
  $sql = $model->select()
                  ->from(['a' => 'jst_book'], ['id', 'a.name', 'n' => '#NOW()'])
                  ->joinLeft(['b' => 'jst_book_detail'], 'a.id = b.id', ['b.detail', 'b.cconte', 's' => '#NOW()'])
                  ->where('a.id=1')->lock();
  $result = $model->fetchAll($sql);
  $model->commit();
  return $oid;
} catch (\Exception $e) {
    $model->rollBack();

    return false;
}
var_dump($result);exit;
exit;
```

---

\###新增

```
$insert = $model->insert()
                    ->into(
                        'table', [
                                      'name',
                                      'phone',
                                      'type',
                                      'price',
                                      'price_type',
                                      'order_count',
                                  ]
                    )
                    ->values(
                        [
                            $params['name'],
                            $params['phone'],
                            $params['type'],
                            (float)$params['price'],
                            $params['price_type'],
                            0,
                        ]
                    )
                    ->duplicate(['order_count' => 1, 'name' => $params['name']]);

$result = $model->query($sql);

exit;
```

---

\###修改

```
        $update    = $this->_db_translator->update
                               ->set($classname::tableName(), $params)
                               ->where('id=?', $id);
```

---

\###删除

```
$delete    = $model->delete()
                               ->from('table')
                               ->where('id=?', $id);
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 85.7% 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.

###  Release Activity

Cadence

Every ~48 days

Total

2

Last Release

3156d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1243470?v=4)[xyq162089](/maintainers/xyq162089)[@xyq162089](https://github.com/xyq162089)

---

Top Contributors

[![xyq162089](https://avatars.githubusercontent.com/u/1243470?v=4)](https://github.com/xyq162089 "xyq162089 (12 commits)")[![liusha529](https://avatars.githubusercontent.com/u/21104488?v=4)](https://github.com/liusha529 "liusha529 (2 commits)")

---

Tags

sqlcreate

### Embed Badge

![Health badge](/badges/sqltranslator-sql-translator/health.svg)

```
[![Health](https://phpackages.com/badges/sqltranslator-sql-translator/health.svg)](https://phpackages.com/packages/sqltranslator-sql-translator)
```

###  Alternatives

[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k595.8M6.5k](/packages/doctrine-dbal)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k116.5M113](/packages/jdorn-sql-formatter)[doctrine/sql-formatter

a PHP SQL highlighting library

1.9k176.2M104](/packages/doctrine-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k54.1M11.1k](/packages/illuminate-database)[phpmyadmin/sql-parser

A validating SQL lexer and parser with a focus on MySQL dialect.

48051.5M70](/packages/phpmyadmin-sql-parser)[ifsnop/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

1.3k5.8M74](/packages/ifsnop-mysqldump-php)

PHPackages © 2026

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