Node MySQL 2.1
Lightweight, mysql2/promise based layer for easier database manipulation.
Inspired by PHP's awesome dg/digi.
Method changes over mysql2
Code examples
Installation
npm -i mysql21
// TypeScript; // Node.jsconst mysql21 = ;
Connection
const opts = host: 'localhost' user: 'test' password: 'test' database: 'test' multipleStatements: true // single line let connection = await mysql21; // pool let connection = await mysql21;
Query
// either await let query = await connection;console;> TextRow '1': 1 // or then... connection ;> TextRow '1': 1 connection ;> 4
Execute
connection ;> execute
Single result
connection ;> 1
Associative results
connection ;> > '1': TextRow id: 1 value: 'one' > '2': TextRow id: 2 value: 'two' >
Key-Value Pairs
connection ;> '1': 'one' '2': 'two'
API
Methods not described above follow their mysql2 origin within it's promise wrapper.
Notice: query()
and execute()
drop field
definitions from result for cleaner result parsing.
If you want them back, use defQuery()
or
defExecute()
instead, triggering mysql2's
original methods, which return [result, fields]
.
Error Handling
Simply catch
the Errors as thrown by mysql2
.
They now have sql
property of formatted string
for a chance of better debugging :-)