22 KiB
Table of Contents
- NodeQuery
- QueryBuilder
- queryFile
- query
- resetQuery
- truncate
- end
- select
- from
- like
- notLike
- orLike
- orNotLike
- having
- orHaving
- where
- orWhere
- whereIsNull
- whereIsNotNull
- orWhereIsNull
- orWhereIsNotNull
- whereIn
- orWhereIn
- whereNotIn
- orWhereNotIn
- set
- join
- groupBy
- orderBy
- limit
- groupStart
- orGroupStart
- orNotGroupStart
- groupEnd
- get
- insert
- insertBatch
- update
- updateBatch
- delete
- getCompiledSelect
- getCompiledInsert
- getCompiledUpdate
- getCompiledDelete
- Result
NodeQuery
Class for connection management
Parameters
config
object connection parameters
getQuery
Return an existing query builder instance
Returns QueryBuilder The Query Builder object
QueryBuilder
Extends QueryBuilderBase
Main object that builds SQL queries.
Parameters
Driver
Driver The syntax driver for the databaseAdapter
Adapter The database module adapter for running queries
queryFile
Run a set of queries from a file
Parameters
file
string The path to the sql fileseparator
string The character separating each query (optional, default';'
)
Returns Promise The result of all the queries
query
Run an arbitrary sql query. Run as a prepared statement.
Parameters
Returns Promise Promise with result of query
resetQuery
Reset the object state for a new query
Returns void
truncate
Empties the selected database table
Parameters
table
string the name of the table to truncate
Returns (void | Promise) Returns a promise if no callback is supplied
end
Closes the database connection for the current adapter
Returns void
select
Specify rows to select in the query
Parameters
Examples
query.select('foo, bar'); // Select multiple fields with a string
query.select(['foo', 'bar']); // Select multiple fileds with an array
Returns QueryBuilder The Query Builder object, for chaining
from
Specify the database table to select from
Parameters
tableName
String The table to use for the current query
Examples
query.from('tableName');
query.from('tableName t'); // Select the table with an alias
Returns QueryBuilder The Query Builder object, for chaining
like
Add a 'like/ and like' clause to the query
Parameters
field
String The name of the field to compare toval
String The value to compare topos
String The placement of the wildcard character(s): before, after, or both (optional, defaultboth
)
Returns QueryBuilder The Query Builder object, for chaining
notLike
Add a 'not like/ and not like' clause to the query
Parameters
field
String The name of the field to compare toval
String The value to compare topos
String The placement of the wildcard character(s): before, after, or both (optional, defaultboth
)
Returns QueryBuilder The Query Builder object, for chaining
orLike
Add an 'or like' clause to the query
Parameters
field
String The name of the field to compare toval
String The value to compare topos
String The placement of the wildcard character(s): before, after, or both (optional, defaultboth
)
Returns QueryBuilder The Query Builder object, for chaining
orNotLike
Add an 'or not like' clause to the query
Parameters
field
String The name of the field to compare toval
String The value to compare topos
String The placement of the wildcard character(s): before, after, or both (optional, defaultboth
)
Returns QueryBuilder The Query Builder object, for chaining
having
Add a 'having' clause
Parameters
key
(String | Object) The name of the field and the comparision operator, or an objectval
(String | Number)? The value to compare if the value of key is a string (optional, defaultnull
)
Returns QueryBuilder The Query Builder object, for chaining
orHaving
Add an 'or having' clause
Parameters
key
(String | Object) The name of the field and the comparision operator, or an objectval
(String | Number)? The value to compare if the value of key is a string (optional, defaultnull
)
Returns QueryBuilder The Query Builder object, for chaining
where
Set a 'where' clause
Parameters
key
(String | Object) The name of the field and the comparision operator, or an objectval
(String | Number)? The value to compare if the value of key is a string
Returns QueryBuilder The Query Builder object, for chaining
orWhere
Set a 'or where' clause
Parameters
key
(String | Object) The name of the field and the comparision operator, or an objectval
(String | Number)? The value to compare if the value of key is a string
Returns QueryBuilder The Query Builder object, for chaining
whereIsNull
Select a field that is Null
Parameters
field
String The name of the field that has a NULL value
Returns QueryBuilder The Query Builder object, for chaining
whereIsNotNull
Specify that a field IS NOT NULL
Parameters
field
String The name so the field that is not to be null
Returns QueryBuilder The Query Builder object, for chaining
orWhereIsNull
Field is null prefixed with 'OR'
Parameters
field
String The name of the field
Returns QueryBuilder The Query Builder object, for chaining
orWhereIsNotNull
Field is not null prefixed with 'OR'
Parameters
field
String The name of the field
Returns QueryBuilder The Query Builder object, for chaining
whereIn
Set a 'where in' clause
Parameters
Returns QueryBuilder The Query Builder object, for chaining
orWhereIn
Set a 'or where in' clause
Parameters
Returns QueryBuilder The Query Builder object, for chaining
whereNotIn
Set a 'where not in' clause
Parameters
Returns QueryBuilder The Query Builder object, for chaining
orWhereNotIn
Set a 'or where not in' clause
Parameters
Returns QueryBuilder The Query Builder object, for chaining
set
Set values for insertion or updating
Parameters
Examples
query.set('foo', 'bar'); // Set a key, value pair
query.set({foo:'bar'}); // Set with an object
Returns QueryBuilder The Query Builder object, for chaining
join
Add a join clause to the query
Parameters
table
String The table you are joiningcond
String The join condition.type
String The type of join, which defaults to inner (optional, default'inner'
)
Returns QueryBuilder The Query Builder object, for chaining
groupBy
Group the results by the selected field(s)
Parameters
Returns QueryBuilder The Query Builder object, for chaining
orderBy
Order the results by the selected field(s)
Parameters
field
String The field(s) to order bytype
String The order direction, ASC or DESC (optional, default'ASC'
)
Returns QueryBuilder The Query Builder object, for chaining
limit
Put a limit on the query
Parameters
Returns QueryBuilder The Query Builder object, for chaining
groupStart
Adds an open paren to the current query for logical grouping
Returns QueryBuilder The Query Builder object, for chaining
orGroupStart
Adds an open paren to the current query for logical grouping, prefixed with 'OR'
Returns QueryBuilder The Query Builder object, for chaining
orNotGroupStart
Adds an open paren to the current query for logical grouping, prefixed with 'OR NOT'
Returns QueryBuilder The Query Builder object, for chaining
groupEnd
Ends a logical grouping started with one of the groupStart methods
Returns QueryBuilder The Query Builder object, for chaining
get
Get the results of the compiled query
Parameters
table
String? The table to select fromlimit
Number? A limit for the queryoffset
Number? An offset for the query
Examples
query.get('table_name').then(promiseCallback); // Get all the rows in the table
query.get('table_name', 5); // Get 5 rows from the table
query.get(); // Get the results of a query generated with other methods
Returns Promise<Result> Promise containing the result of the query
insert
Run the generated insert query
Parameters
table
String The table to insert intodata
Object? Data to insert, if not already added with the 'set' method
Returns Promise<Result> Promise containing the result of the query
insertBatch
Insert multiple sets of rows at a time
Parameters
table
String The table to insert intodata
Array The array of objects containing data rows to insert
Examples
query.insertBatch('foo',[{id:1,val:'bar'},{id:2,val:'baz'}])
.then(promiseCallback);
Returns Promise<Result> Promise containing the result of the query
update
Run the generated update query
Parameters
table
String The table to insert intodata
Object? Data to insert, if not already added with the 'set' method
Returns Promise<Result> Promise containing the result of the query
updateBatch
Creates a batch update sql statement
Parameters
table
String The table to updatedata
Object Batch insert dataupdateKey
String The field in the table to compare against for updating
Returns Number Number of rows updated
delete
Run the generated delete query
Parameters
Returns Promise<Result> Promise containing the result of the query
getCompiledSelect
Return generated select query SQL
Parameters
table
String? the name of the table to retrieve fromreset
Boolean Whether to reset the query builder so another query can be built (optional, defaulttrue
)
Returns String The compiled sql statement
getCompiledInsert
Return generated insert query SQL
Parameters
table
String the name of the table to insert intoreset
Boolean Whether to reset the query builder so another query can be built (optional, defaulttrue
)
Returns String The compiled sql statement
getCompiledUpdate
Return generated update query SQL
Parameters
table
String the name of the table to updatereset
Boolean Whether to reset the query builder so another query can be built (optional, defaulttrue
)
Returns String The compiled sql statement
getCompiledDelete
Return generated delete query SQL
Parameters
table
String the name of the table to delete fromreset
Boolean Whether to reset the query builder so another query can be built (optional, defaulttrue
)
Returns String The compiled sql statement
Result
Query result object
Parameters
rows
Array the data rows of the result (optional, default[]
)columns
Array the column names in the result (optional, default[]
)
rowCount
Get the number of rows returned by the query
Returns Number the number of rows in the result
columnCount
Get the number of columns returned by the query
Returns Number the number of columns in the result