Readme
This commit is contained in:
72
Readme.md
72
Readme.md
@ -49,20 +49,70 @@ QueryBuilder
|
||||
include_once 'vendor/autoload.php';
|
||||
$qb = new QueryBuilder();
|
||||
|
||||
$query = $qb->select();
|
||||
$query = $qb->insert();
|
||||
$query = $qb->update();
|
||||
$query = $qb->delete();
|
||||
$query = $qb->select(<*columns>);
|
||||
$query = $qb->insert(<table>);
|
||||
$query = $qb->update(<table>);
|
||||
$query = $qb->delete(<table>);
|
||||
```
|
||||
|
||||
### Queries
|
||||
|
||||
Select
|
||||
```
|
||||
$query = $qb->select();
|
||||
$query = $qb->select(['id', 'column1']);
|
||||
#### Select
|
||||
`SELECT <columns> FROM <table>[ JOIN <table2> ON <table>.<column_1> = <table2>.<column_2>][ WHERE <expr1>[ AND|OR <expr2>]][ GROUP BY <column1>[, <column2>]][ HAVING <expr1>[ AND|OR <expr2>]][ ORDER BY <column1> ASC|DESC[, <column2> ASC|DESC]]`
|
||||
|
||||
$query = $query->from('table');
|
||||
$query = $query->joins([['table2', 'table1.column = table2.column']]);
|
||||
$query = $query->where([['table2.column2', 10]]);
|
||||
Mysql also include `[ LIMIT <limit>[ OFFSET <offset>]]`
|
||||
```
|
||||
$query = $qb->select(); // use '*' for columns
|
||||
or
|
||||
$query = $qb->select()->select(['id', 'column1',]);
|
||||
or
|
||||
$query = $qb->select(['id', 'column1',]);
|
||||
|
||||
$query->from('table1');
|
||||
$query->joins([['table2', 'table1.column1 = table2.column21'],]);
|
||||
$query->where(['table2.column22 = 10',]);
|
||||
$query->groupBy(['table1.column1',]);
|
||||
$query->having(['table1.column1 < 10',]);
|
||||
$query->orderBy(['table2.column22',]);
|
||||
$query->limit(10, 10);
|
||||
```
|
||||
|
||||
#### Insert
|
||||
`INSERT INTO <table>[ (<columns>)]`
|
||||
with two options
|
||||
`<select query>` or
|
||||
` VALUES (<values>)`
|
||||
```
|
||||
$query = $qb->insert('table');
|
||||
|
||||
$query->columns(['column1',]);
|
||||
$query->values(['value1',];
|
||||
or
|
||||
$query->select($select_query);
|
||||
```
|
||||
|
||||
#### Update
|
||||
`UPDATE <table> SET <column1> = <value1>[, <column2> = <value2>][ WHERE <expr1>[ AND|OR <expr2>]]`
|
||||
```
|
||||
$query = $qb->update('table');
|
||||
$query->set([['column1', 10],]); or $query->set([['column' => 'column1', 'value' => 10],]);
|
||||
$query->where(['column2 = 10', ]);
|
||||
```
|
||||
|
||||
#### Delete
|
||||
`DELETE FROM <table> WHERE <expr1>[ AND|OR <expr2>]`
|
||||
```
|
||||
$query = $qb->delete('table');
|
||||
$query->where(['column1 = 10',]);
|
||||
```
|
||||
|
||||
|
||||
Pass the query to a string
|
||||
```
|
||||
$str = $query->build();
|
||||
or
|
||||
$str = "{$query}";
|
||||
```
|
||||
|
||||
## TODO
|
||||
Implement other databases
|
||||
|
Reference in New Issue
Block a user