Pure PHP SQL Like Query Language To Manipulate Arrays.
MIT License
Runtime SQL like query lanaguage for manipulate php arrays. written in pure php and not using any sql engine. Note:- this is not an any kind of query builder.
You can install arraybase on composer package manager by using below command.
composer require whizsid/arraybase
This is how we are creating an array base instance.
use WhizSid\ArrayBase\AB;
$ab = new AB;
ArrayBase is simpler than other SQL Engines.
use WhizSid\ArrayBase\AB\Table;
use WhizSid\ArrayBase\AB\Table\Column;
$ab->createTable('customers',function(Table $tbl){
$tbl->createColumn('cus_id',function(Column $clmn){
$clmn->setType('integer')->setAutoIncrement();
});
$tbl->createColumn('cus_name',function(Column $clmn){
$clmn->setType('varchar');
});
$tbl->createColumn('cus_phone',function(Column $clmn){
$clmn->setType('varchar');
})
});
Or with data array.
$ab->createTable('tbl_another',[
[
'c_id'=>1,
'ant_id'=>"A"
],
[
'c_id'=>2,
'ant_id'=>"B"
]
]);
use WhizSid\ArrayBase\AB\Query\Clause\Join;
$query = $ab->query();
$select = $query->select($ab->tbl_customer->as('cus'));
$select->join($ab->tbl_customer_cv->as('cv'))->on($query->cv->c_id,$query->cus->c_id);
$results = $select->execute();
$select->where($query->cus->c_id,"4567")->and($query->cv->c_name,"my name");
$select->limit(10,20);
$select->orderBy($query->cus->c_name)->orderBy($query->cus->c_address,"desc");
$selectQuery = $ab->query()->select(
$ab->tbl_customer,
$ab::groupConcat(AB_DISTINCT,$ab->tbl_facility->fac_code)->as('new_sum'),
$ab->tbl_customer->c_id,
$ab->tbl_another->ant_id,
$ab->tbl_facility->fac_code
);
$selectQuery->join(AB_JOIN_INNER,$ab->tbl_facility)->on($ab->tbl_customer->c_id,'=',$ab->tbl_facility->c_id);
$selectQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_customer->c_id,'=',$ab->tbl_another->c_id);
$selectQuery->orderBy($ab->tbl_customer->c_id,'desc');
$selectQuery->groupBy($ab->tbl_another->ant_id);
$selectQuery->where($ab->tbl_another->ant_id,'=',"A");
$selectQuery->limit(1);
$result = $selectQuery->execute()->fetchAssoc();
$updateQuery = $ab->query()->update($ab->tbl_customer)->set($ab->tbl_customer->c_name,'Updated name');
$updateQuery->where($ab->tbl_another->ant_id,"B");
$updateQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_another->c_id,'=',$ab->tbl_customer->c_id);
$updateQuery->limit(1);
$updateQuery->execute();
$deleteQuery = $ab->query()->delete($ab->tbl_customer);
$deleteQuery->where($ab->tbl_another->ant_id,"B");
$deleteQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_another->c_id,'=',$ab->tbl_customer->c_id);
$deleteQuery->limit(1);
$deleteQuery->execute();
All Examples in the example/index.php
file.
To bring all MySQL functions to PHP.