sql/genericsqlformat

SQL 辅助工具,通用 SQL 格式化

V2 2021-12-15 16:15 UTC

This package is auto-updated.

Last update: 2024-09-21 01:54:58 UTC


README

Composer 安装

composer require sql/genericsqlformat

描述

simple query generator for PHP

OBS

  • 所有类都有 manualQueryBuilder() 方法,您可以通过它传递一个包含查询的字符串
  • 数据库连接设置在 Config 文件夹中的 Config.php 文件中
  • 如果您不想使用环境,则编辑配置文件

需求

- PHP 7.0+
- Composer
- ENVIRONMENT VARIABLES

环境变量

- GENERICSQLFORMAT_HOST
- GENERICSQLFORMAT_USER
- GENERICSQLFORMAT_PASSWORD
- GENERICSQLFORMAT_DATABASENAME
- GENERICSQLFORMAT_PORT // 5432 (PostgreSQL), 3306 (MySQL), 1521 (Oracle)
- GENERICSQLFORMAT_DRIVE //mysql, pgsql, sqlite, sqlsrv, oci, mssql, dblib, oracle,

使用方法

  • 选择
    <?php
        require_once __DIR__.'vendor/autoload.php';
    
        //library
        use sql\genericsqlformat\Select\Select;
    
        //query
        //enable debug mode
            $select = new Select(true);
        //no debug mode
            $select = new Select();
        $select->setFrom('users');
        $select->setColumns(['id', 'nameuser']);
        $select->setWhere(['id' => 1,'nameuser'=>'teste'],['nameuser'=>'=','id'=>'like'], ['OR']);
        $select->setGroup(['id']);
        $select->setOrder(['id']);
        $select->setLimit(1);
        $select->run();
    ?>
  • 选择连接
    <?php
        require_once __DIR__.'vendor/autoload.php';
    
        //library
        use sql\genericsqlformat\Select\Select;
    
        //query
        //enable debug mode
            $select = new Select(true);
        //no debug mode
            $select = new Select();
        $select->setFrom('users');
        $select->setColumns(['id', 'nameuser']);
        $select->setJoin('LEFT','users_groups', 'users.id = users_groups.id_user');
        $select->setJoin('FULL','users_groups', 'users.id = users_groups.id_user');
        $select->setJoin('RIGHT','users_groups', 'users.id = users_groups.id_user');
        $select->setJoin('INNER','users_groups', 'users.id = users_groups.id_user');
        $select->setWhere(['id' => 1,'nameuser'=>'teste'],['nameuser'=>'=','id'=>'like'], ['OR']);
        $select->setGroup(['id']);
        $select->setOrder(['id']);
        $select->setLimit(1);
        $select->run();
    ?>
  • 更新
    <?php
        require_once __DIR__.'vendor/autoload.php';
    
        //library
        use sql\genericsqlformat\Update\Update;
    
        //query
        //enable debug mode
            $update = new Update(true);
        //no debug mode
            $update = new Update();
        $update->setFrom('users');
        $update->setColumnsSet(['id' => 1,'nameuser'=>'teste']);
        $update->setWhere(['id' => 1,'nameuser'=>'teste'],['nameuser'=>'=','id'=>'like'], ['OR']);
        $update->run();
    ?>
  • 插入
    • OBS
      • setDates 方法期望一个数组,其中键是表列,值是要插入该列的值
    <?php
        require_once __DIR__.'vendor/autoload.php';
    
        //library
        use sql\genericsqlformat\Insert\Insert;
    
        //query
        //enable debug mode
            $insert = new Insert(true);
        //no debug mode
            $insert = new Insert();
        $insert->setFrom('users');
        $insert->setDates(['nameuser' => 'teste4', 'birthday' => '2021-12-13','email'=>'tetse1','passworduser'=>'teste2','createdat'=>'2020-12-13']);
        $insert->run();
    ?>
  • 删除
    <?php
        require_once __DIR__.'vendor/autoload.php';
    
        //library
        use sql\genericsqlformat\Delete\Delete;
    
        //query
        //enable debug mode
            $delete = new Delete(true);
        //no debug mode
            $delete = new Delete();
        
        $delete->setFrom("users");
        $delete->setWhere(["id"=>1], ["="]);
        $delete->run();
    ?>