3.0 KiB
Queries
Database
The database query builder provides a uniform way to write default database queries for the following databases:
- MySQL
- PostgreSQL
- SQLite
- MicrosoftSQL
- OracleSQL
Query Builder
The query builder is used for regular CRUD operations on the database.
Prefix
Projects often use a prefix for all of the tables. For this project the default prefix is oms_.
$query = new Builder();
$query->prefix('oms_');
Select, Insert, Update, Delete
Both select and insert expect the column names as parameter. The where, from and into clause can be necessary depending on the type of operation like a normal sql query.
$query->prefix(...)->select('columnA', 'columnB')->from('table')->where(...);
$query->prefix(...)->insert('columnA', 'columnB')->values('a', 'b')->into('table');
The update expects the table name which should be updated and then the set function to define the columns and new values.
$query->prefix(...)->update('table')->set(['columnA' => 'a'])->set(['columnB' => 'b'])->where(...);
The delete function only expects the from and where clause to identify the to delete columns in a table.
$query->prefix(...)->delete()->from('table')->where(...);
Random
From
The from part of a query accepts string, array, \Closure, From, Builder as parameter.
$query->prefix(...)->select(...)->from('table');
$query->prefix(...)->select(...)->from('tableA', 'tableB');
Into
The into part of a query accepts string, array, \Closure, Into, Builder as parameter.
Where
The basic where clause expects a column, operator, value and boolean concatenater which is used to concatenate multiple where clauses.
$query->prefix(...)->select(...)->from(...)->where('columnA', '=', 123)->where('columnB', '=', 'abc', 'or');
For easier use additional where clauses are defined such as:
orWhere()- same aswherewithoras default boolean connectorandWhere()- same aswherewithandas default boolean connectorwhereIn()- uses the sqlin(...)whereNull()- used for null conditionwhereNotNull()- used for not null condition
Limit
The limit expects an integer.
$query->prefix(...)->select(...)->from(...)->where(...)->limit(3);
Offset
The offset expects an integer.
$query->prefix(...)->select(...)->from(...)->where(...)->offset(3);
Order
The ordering is performed by orderBy.
$query->prefix(...)->select(...)->from(...)->where(...)->orderBy('columnA', 'DESC');
The newest and oldest operation are a small wrapper which automatically order by DESC and ASC respectively.
Group By
Grouping of columns can be achieved through groupBy.
$query->prefix(...)->select(...)->from(...)->where(...)->groupBy('columnA', 'columnB');
Join
Schema Builder
The schema builder is used for schema related operations such as DROP, CREATE etc.