crodas/sql-parser

解析SQL的最简单方法

v0.1.5 2016-03-10 12:22 UTC

This package is auto-updated.

Last update: 2024-09-11 03:42:46 UTC


README

SQL-Parser

为什么?

有时我们需要解析和验证SQL。

它做什么?

它解析SQL(主要是MySQL的SQL),并以对象的形式返回SQL查询。此对象可以通过编程方式修改以生成另一个SQL查询。

如何安装?

composer install crodas/sql-parser

如何使用它?

require __DIR__ . "/vendor/autoload.php";

$parser = new SQLParser;
$queries = $parser->parse("SELECT * FROM table1 WHERE id = :id");
var_dump(get_class($queries[0])); // string(16) "SQLParser\Select"
var_dump($queries[0]->getTable()[0]->getValue()); // string(6) "table1"
/*
 array(1) {
   [0] =>
   string(2) "id"
   }
*/
var_dump($queries[0]->getVariables()); 

// SELECT * FROM 'table1' WHERE 'id' = :id
echo $queries[0] . "\n";

SQLParser\Writer\SQL::setInstance(new SQLParser\Writer\MySQL);

// SELECT * FROM `table1` WHERE `id` = :id
echo $queries[0] . "\n";

待办事项

  1. 更好的文档
  2. 用于生成SQL语句和修改解析内容的流畅接口
  3. 解析CREATE TABLE/ALTER TABLE(适用于SQLite、MySQL和PostgreSQL版本)