https://github.com/MySQL-Database/mysql-database
Easily modify your MySQL database data with easy functions
https://github.com/MySQL-Database/mysql-database
Last synced: 10 months ago
JSON representation
Easily modify your MySQL database data with easy functions
- Host: GitHub
- URL: https://github.com/MySQL-Database/mysql-database
- Owner: MySQL-Database
- License: mit
- Created: 2021-06-30T09:11:49.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-04T09:20:18.000Z (about 2 years ago)
- Last Synced: 2024-12-05T22:50:18.991Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://mysql-db.cloud
- Size: 80.1 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [MySQL Database](https://www.npmjs.com/package/mysql-database)
# Table of contents
- [About](#about)
- [Installation](#installation)
- [Events](#events)
- [Methods](#methods)
- [Contributing](#contributing)
## 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
[View Documentation](https://mysql-db.cloud)
#### 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)
```js
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)
```js
await db.set('my_table', 'foo', 'bar');
// -> Stores 'bar' in 'foo' key name in the table 'my_table'
```
- get (table, key)
```js
await db.get('my_table', 'foo');
// -> Gets foo key name value (which is bar) in the table 'my_table'
```
- exists (table, key)
```js
await db.exists('my_table', 'foo');
// -> Checks if a specific data exists
```
- base_set (table, key, value)
```js
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)
```js
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)
```js
await db.push('my_table', 'fruits', 'banana');
// -> pushs 'banana' to 'fruits' array in 'my_table' table
```
- pull (table, array, value)
```js
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)
```js
await db.includes("my_table", "fruits", "banana");
// -> Checks if the array includes provided value
```
- add (table, key, number)
```js
await db.add("my_table", "price", 10);
// -> add 10 to price in 'my_table' table
```
- sub (table, key, number)
```js
await db.sub("my_table", "price", 5);
// -> subtracts 5 from price - the remaining is 5 from price in 'my_table' table
```
- all (table)
```js
await db.all("my_table");
// -> retutn all the data in 'my_table' table
```
- delete (table, key)
```js
await db.delete("my_table", "foo");
// -> delete foo key in 'my_table' table
```
- tables ()
```js
await db.tables();
// -> return array of all tables existed in the database
```
- rename (table, new_table_name)
```js
await db.rename("my_table", "new_name");
// -> renames table name
```
- stats (table)
```js
await db.stats("my_table");
// -> return table info
```
- query (query)
```js
await db.query("DROP TABLE my_table;")
// -> executes a SQL query
```
- auto_increment (table, number)
```js
await db.auto_increment("my_table", 5);
// -> sets 'my_table' table auto increment to 5
```
- create (table)
```js
await db.create("table_name");
// -> Create empty table with "table_name" name without inserting any data to it
```
- drop (table)
```js
await db.drop("table_name");
// -> deletes the table 'table_name'
```
- clear (table)
```js
await db.clear("table_name");
// -> clears all 'table_name' table rows & data
```
- variables (variables_object)
```js
await db.variables({
max_connections: 100000,
max_connect_errors: 100000,
wait_timeout: 60
});
// -> modifies any global variable
```
- ping ()
```js
await db.ping();
// -> gets database ping (in ms)
```
- process ()
```js
await db.process();
// -> returns the processes/connections list
```
- create_db (database_name)
```js
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 ()
```js
await db.end();
// -> closes the connection
```
#### Contributing
© mysql-database, 2021 - 2023 | TARIQ (contact@itariq.dev)
