Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mysql-simple-query

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mysql-simple-query

Simple query wrapper for mysql-promise to make querying, inserting, updating, and deleting easier for developers.

  • 1.0.9
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
31
increased by287.5%
Maintainers
1
Weekly downloads
 
Created
Source

MySQL Simple Query

Build Status

Simple mysql query builder to make querying, inserting, updating, and deleting easier for developers. This library can be used with any mysql library.


This library takes the annoyance out of writing raw MySQL queries in Javascript. The queries are easy to read in your code and easy to build complex queries.

Install

npm install --save mysql-simple-query

List of features

Configuring

All calls need to be have a reference to the mysql-simple-query class.

const mysqlQuery = require("mysql-simple-query");

const db = new mysqlQuery();

Querying

Query with basic select from and where
db.select('id, name');
db.from('users');
db.where('name', 'foo');

const results = db.query();

results.then(function(result) {
   console.log(result);
});

If Select * is needed you can leave off the db.select and it will be defaulted.

Query with select, from, join, and where
db.select('id, name');
db.join('table', 'abc = def');
db.from('users');
db.where('name', 'foo');

const results = db.query();

results.then(function(result) {
   console.log(result);
});

The above example will produce an INNER JOIN. There can be multiple db.join and db.where to chain them together.

db.select('id, name');
db.join('table', 'abc = def');
db.join('table2', 'abc = def');
db.from('users');
db.where('id', '123');
db.where('name', 'foo');

const results = db.query();

results.then(function(result) {
   console.log(result);
});
Other querying parameters
db.groupBy('item');
db.orderBy('item', 'ACS');
db.limit(1);

Inserting

/**
 * @param {string} table    Name of the database table to insert into
 * @param {object} data     data to insert into the database
 * @returns {promise}
 */
const results = db.insert('users_table', {
    'name': 'foo bar',
    'department': 'engineering',
    'datetime': '2019-08-27 03:11:06'
});

results.then(function(result) {
   console.log(result);
});

Updating

/**
 * @param {string} table    Name of the database table to update
 * @param {object} data     data to update into the database
 * @returns {promise}
 */
const results = db.update('users_table', {
    'name': 'foo bar',
    'department': 'engineering',
    'datetime': '2019-08-27 03:11:06'
});

results.then(function(result) {
   console.log(result);
});

Deleting

db.where('name', 'foo');
db.delete('users');

Raw Query

If you need to pass in your own custom query into mysql-promise you can do so by calling the following.

const results = db.queryRaw('SELECT * FROM TABLE...');

Component Definitions

db.select()
/**
 * @param {string} select string    Comma seperated list
 * @returns {promise}
 */
db.select('id','name','department');
db.from()
/**
 * @param {string} table_name
 * @returns {promise}
 */
db.from('users');
db.where()

These calls can be chained together to form multiple where statements.

/**
 * @param {string} key
 * @param {string} value
 * @returns {promise}
 */
db.where('name','foo');
db.where('deparment','engineering');
db.join()

This will produce an INNER JOIN. These calls can be chained together to form multiple join statements.

/**
 * @param {string} key
 * @param {string} value
 * @returns {promise}
 */
db.join('table', 'item = item2');
db.groupBy()
/**
 * @param {string} key
 * @returns {promise}
 */
db.groupBy('key');
db.orderBy()
/**
 * @param {string} key
 * @param {ENUM} order ASC or DESC
 * @returns {promise}
 */
db.orderBy('key', 'ASC');
db.limit()
/**
 * @param {int} number to limit by
 * @returns {promise}
 */
db.limit(1);

License

This project is licensed under the MIT License

Keywords

FAQs

Package last updated on 19 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc