mysql-database
v1.3.2
Published
Easily modify your MySQL database data with easy functions
Downloads
81
Maintainers
Readme
MySQL Database
Table of contents
About
- Easily modify your MySQL database data with easy functions
- Useful for websites & large projects where it makes managing data easier & faster
- Supports the Promise-API, you will be able to use .then, .catch, await, etc...
- & more...
Installation
npm i mysql-database@latest
Documentation
Events
[Note]: Events are only emitted if the action is taken from the library, which means if you manage the database from other connection, events would not work
- connected (connection)
- dataModification (event object)
- tableCreate (table)
- tableDelete (table)
- tableClear (table)
- tableRename (oldName, newName)
const MySQL = require('mysql-database');
const database = new MySQL();
// Create Your Own Connection
run();
async function run(){
let db = await database.connect({ // creates a database connection
host: 'localhost',
port: '3306', // the default is 3306
user: 'root',
password: '',
database: 'my_database',
charset: 'utf8mb4'
});
db.on('connected', async connection => { // database connected event
console.log('Database Connected');
});
db.on('dataModification', async event => { // data changes & modifications event
console.log(event);
/*
{
oldData: 'bar',
newData: 'bar2',
type: 'UPDATE',
table: 'test_table',
modifiedAt: 1653815607288
}
*/
});
db.on('tableCreate', async table => {
console.log(`Table ${table} Created`);
});
db.on('tableDelete', async table => {
console.log(`Table ${table} Deleted`);
});
db.on('tableClear', async table => {
console.log(`Table ${table} Data Cleared`);
});
db.on('tableRename', async (oldName, newName) => {
console.log(`Table renamed from ${oldName} to ${newName}`);
});
}
Methods
- set (table, key, value)
await db.set('my_table', 'foo', 'bar');
// -> Stores 'bar' in 'foo' key name in the table 'my_table'
- get (table, key)
await db.get('my_table', 'foo');
// -> Gets foo key name value (which is bar) in the table 'my_table'
- exists (table, key)
await db.exists('my_table', 'foo');
// -> Checks if a specific data exists
- base_set (table, key, value)
await db.base_set('my_table', 'foo', 'bar');
// -> Stores 'bar' in 'foo' key name in the table 'my_table' but base encrypted
- base_get (table, key)
await db.base_get('my_table', 'foo');
// -> Gets foo key name value (which is bar) in the table 'my_table' for encrypted rows using base_set method
- push (table, array, value)
await db.push('my_table', 'fruits', 'banana');
// -> pushs 'banana' to 'fruits' array in 'my_table' table
- pull (table, array, value)
await db.pull("my_table", "fruits", "banana");
// -> pulls FIRST 'banana' from 'fruits' in 'my_table'
await db.pull("my_table", "fruits", "banana", "all");
// -> pulls ALL 'banana' from 'fruits' in 'my_table'
- includes (table, array, value)
await db.includes("my_table", "fruits", "banana");
// -> Checks if the array includes provided value
- add (table, key, number)
await db.add("my_table", "price", 10);
// -> add 10 to price in 'my_table' table
- sub (table, key, number)
await db.sub("my_table", "price", 5);
// -> subtracts 5 from price - the remaining is 5 from price in 'my_table' table
- all (table)
await db.all("my_table");
// -> retutn all the data in 'my_table' table
- delete (table, key)
await db.delete("my_table", "foo");
// -> delete foo key in 'my_table' table
- tables ()
await db.tables();
// -> return array of all tables existed in the database
- rename (table, new_table_name)
await db.rename("my_table", "new_name");
// -> renames table name
- stats (table)
await db.stats("my_table");
// -> return table info
- query (query)
await db.query("DROP TABLE my_table;")
// -> executes a SQL query
- auto_increment (table, number)
await db.auto_increment("my_table", 5);
// -> sets 'my_table' table auto increment to 5
- create (table)
await db.create("table_name");
// -> Create empty table with "table_name" name without inserting any data to it
- drop (table)
await db.drop("table_name");
// -> deletes the table 'table_name'
- clear (table)
await db.clear("table_name");
// -> clears all 'table_name' table rows & data
- variables (variables_object)
await db.variables({
max_connections: 100000,
max_connect_errors: 100000,
wait_timeout: 60
});
// -> modifies any global variable
- ping ()
await db.ping();
// -> gets database ping (in ms)
- process ()
await db.process();
// -> returns the processes/connections list
- create_db (database_name)
await db.create_db("second_db");
// -> creates a separate database on the server
// -> you need to create a new connection manually after creating a new database
const secondDB = new MySQL();
let newDb = await secondDB.connect({
host: 'localhost',
port: '3306',
user: 'root',
password: '',
database: 'second_db',
charset: 'utf8mb4',
});
// note: if you had an old events, you need to re-register the events since this is a new class created
newDb.on('connected', async connection => {
console.log('New Database Connected');
});
// now you can manage your "newDb" connection
await newDb.set("second_db_table", "key", "value");
await newDb.drop("second_db_table");
await newDb.end();
- end ()
await db.end();
// -> closes the connection
Contributing
© mysql-database, 2021 - 2023 | TARIQ ([email protected])