@chrisbrocklesby/mysql
v1.0.4
Published
This is a MySQL DB Connector with built in quick CRUD and RAW functions
Downloads
8
Maintainers
Readme
MySQL Connector (with built CRUD Functions)
This is a MySQL Connector with built in quick CRUD and RAW functions for faster development.
Install
npm i @chrisbrocklesby/mysql
Connect to MySQL (.env)
Create a .env file with the following params
MYSQL_HOST=localhost
MYSQL_USER=username
MYSQL_PASSWORD=password
MYSQL_DATABASE=databasename
Require
const { Model, query } = require('@chrisbrocklesby/mysql');
Create a Model
const Post = new Model('posts');
// const modelName = new Model('tableName');
CRUD Functions
Please note these CRUD Functions are designed to be used within a async function.
Create
await Post.create({
title: 'Hello',
body: 'World'
});
// => Returns Object { inserted: true, insertId: 1 }
Read
await Post.read({ id: 1 });
// => Returns Single Object [0]
// or
await Post.read({ pk: '12345-abcde-09876-54321' });
// => Returns Single Object [0]
// or
await Post.read({ email: '[email protected]' });
// => Returns Single Object [0]
// or
await Post.read({ anyKey: 'anyValue' });
// => Returns Single Object [0]
await Post.readAll();
// => Returns Array of Objects []
// or
await Post.readAll({ anyKey: 'anyValue' });
// => Returns Array of Objects []
Update
await Post.update({ id: 1 }, { title: 'Hello World' });
// => Returns Object { updated: true, where: {id: 1} }
// or
await Post.update({ pk: '12345-abcde-09876-54321' }, { title: 'Hello World' }));
// => Returns Object { updated: true, where: {pk: '12345-abcde-09876-54321'} }
Delete
await Post.delete({ id: 1 });
// => Returns Object { deleted: true, where: {id: 1} }
//or
await Post.delete({ pk: '12345-abcde-09876-54321' });
// => Returns Object { deleted: true, where: {pk: '12345-abcde-09876-54321'} }
RAW MySQL Query
Quick Raw Query
await query('SELECT * FROM posts');
// => Returns Object or Array depending on query
Escaped Placeholder Raw Query
await query('SELECT * FROM posts WHERE title LIKE ?', ['%hello%']);
// => Returns Object or Array depending on query
Example Usage
const { Model, query } = require('@chrisbrocklesby/mysql');
const Post = new Model('posts');
async function exampleFunction() {
try {
const posts = await Post.read();
console.log(posts);
}
catch (error) {
console.log(error);
}
}
exampleFunction();
Contributing
Contributions, issues and feature requests are welcome.
Authors
Chris Brocklesby
- Twitter: @ChrisBrocklesby
- Github: @ChrisBrocklesby
Show Your Support
Please ⭐️ this repository if this project helped you!
License
Copyright © 2020 Chris Brocklesby.
This project is licensed under the MIT License - see the LICENSE file for details.