mysql-querybuilder

0.0.2 • Public • Published

query-builder

A yet simple orm, mainly made for data2model

Requires

Uses dotenv to store your credentials. You'll need a .env file in your apps root dir like:

DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password

Usage

 upsert(table, fields)
 // fields is a Map() holding multiple Map()s, for example:
 
 var a = new Map();
 a.set(0, new Map([['columnName', 'valueToInsert], ['columnName', 'valueToInsert]])
 a.set(1, new Map([['columnName', 'valueToInsert], ['columnName', 'valueToInsert]])
 
 insert(table, fields)
 // same as upsert
 
 loadDataInfileString(file, table, createString, SetString, options = {})
 // all but options are just strings, the strings are generated by another package, I'll merge them ASAP
 // options has to be an object like
 let options = {
    encoding: 'utf8',
    delimiter: '"',
    enclosedBy: '\t'
 }
 
 createTable(table, fieldsOrLike)
 // if fieldsOrLike is a string it will create a table LIKE it, if not it takes a Map() like
  
  let fields = new Map([['columnName', 'type(e.g. VARCHAR(100)]])'
  // You can use any valid mysql datatype
 
 createTableIfNotExists(table, fieldsOrLike, options = {checkIfExists: true})
 // same as above, but checks if the table exists
 
 copyTableData(from, to, fields, options = {})
 // if no options are passed, it will run a 'ON DUPLICATE KEY UPDATE'. If you only want to insert, pass 
 // let options = {onDuplicateKeyUpdate:false} 
 // as options
 // fields is a Map() like 
 
 let fromTo = new Map([['fieldInFromTable', 'fieldInToTable']]);
 
 select(table, options)
 // table is a string, options is a Map() like:
 select('testTable0815', new Map([
    ['whereIn', new Map([
        ['testColumn1', [50, 51]
        ]])],
    ['select', ['id', 'updated_at', 'testColumn2', 'testColumn1']]]));
    
    
 update(table, options)
 // quite similar to select

Readme

Keywords

Package Sidebar

Install

npm i mysql-querybuilder

Weekly Downloads

0

Version

0.0.2

License

MIT

Last publish

Collaborators

  • baao