{"id":23252247,"url":"https://github.com/MySQL-Database/mysql-database","last_synced_at":"2025-08-20T10:33:13.994Z","repository":{"id":44781286,"uuid":"381641705","full_name":"MySQL-Database/mysql-database","owner":"MySQL-Database","description":"Easily modify your MySQL database data with easy functions","archived":false,"fork":false,"pushed_at":"2024-05-04T09:20:18.000Z","size":82,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-05T22:50:18.991Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mysql-db.cloud","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MySQL-Database.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-30T09:11:49.000Z","updated_at":"2024-03-16T14:21:08.000Z","dependencies_parsed_at":"2024-05-04T10:22:33.934Z","dependency_job_id":"ba7f72d9-8def-4ab3-8c93-58711dd08cae","html_url":"https://github.com/MySQL-Database/mysql-database","commit_stats":null,"previous_names":["1tgdev/mysql-database"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MySQL-Database%2Fmysql-database","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MySQL-Database%2Fmysql-database/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MySQL-Database%2Fmysql-database/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MySQL-Database%2Fmysql-database/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MySQL-Database","download_url":"https://codeload.github.com/MySQL-Database/mysql-database/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230415334,"owners_count":18222159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-19T10:14:01.098Z","updated_at":"2024-12-19T10:14:02.477Z","avatar_url":"https://github.com/MySQL-Database.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cbr/\u003e\n\t\u003cp\u003e\n\t\t\u003ca href=\"https://www.npmjs.com/package/mysql-database\"\u003e\u003cimg src=\"https://cdn.discordapp.com/attachments/858540031160877077/863418307109453874/1200px-MySQL.png\" width=\"300\" alt=\"MySQL-database\" /\u003e\u003c/a\u003e\n\t\u003c/p\u003e\n\t\u003cbr/\u003e\n\t\u003cp\u003e\n\t\t\u003ca href=\"https://www.npmjs.com/package/mysql-database\"\u003e\n\t\t\t\u003cimg src=\"https://nodei.co/npm/mysql-database.png\"\u003e\n\t\t\u003c/a\u003e\n\t\u003c/p\u003e\n\t\u003cp\u003e\n\t\t\u003ca href=\"https://www.npmjs.com/package/mysql-database\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/mysql-database.svg?maxAge=3600\" alt=\"NPM version\" /\u003e\u003c/a\u003e\n\t\t\u003ca href=\"https://www.npmjs.com/package/mysql-database\"\u003e\u003cimg src=\"https://img.shields.io/npm/dt/mysql-database.svg?maxAge=3600\" alt=\"NPM downloads\" /\u003e\u003c/a\u003e\n\t\u003c/p\u003e\n\u003c/div\u003e\n\n# [MySQL Database](https://www.npmjs.com/package/mysql-database)\n\u003cbr/\u003e\n\n# Table of contents\n\n- [About](#about)\n- [Installation](#installation)\n- [Events](#events)\n- [Methods](#methods)\n- [Contributing](#contributing)\n\n## About \n\n- Easily modify your MySQL database data with easy functions\n- Useful for websites \u0026 large projects where it makes managing data easier \u0026 faster\n- Supports the Promise-API, you will be able to use .then, .catch, await, etc...\n- \u0026 more...\n\n## Installation\n\n``\nnpm i mysql-database@latest\n``\n\n## Documentation\n\n[View Documentation](https://mysql-db.cloud)\n\n#### Events\n**[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**\n- connected (connection)\n- dataModification (event object)\n- tableCreate (table)\n- tableDelete (table)\n- tableClear (table)\n- tableRename (oldName, newName)\n```js\nconst MySQL = require('mysql-database');\nconst database = new MySQL();\n\n// Create Your Own Connection\nrun();\nasync function run(){\n\tlet db = await database.connect({ // creates a database connection\n\t\thost: 'localhost',\n\t\tport: '3306', // the default is 3306\n\t\tuser: 'root',\n\t\tpassword: '',\n\t\tdatabase: 'my_database',\n\t\tcharset: 'utf8mb4'\n\t});\n\t\n\tdb.on('connected', async connection =\u003e { // database connected event\n\t\tconsole.log('Database Connected');\n\t});\n\t\n\tdb.on('dataModification', async event =\u003e { // data changes \u0026 modifications event\n\t\tconsole.log(event);\n\t\t/*\n\t\t{\n\t\t\toldData: 'bar',\n\t\t\tnewData: 'bar2',\n\t\t\ttype: 'UPDATE',\n\t\t\ttable: 'test_table',\n\t\t\tmodifiedAt: 1653815607288\n\t\t}\n\t\t*/\n\t});\n\t\n\tdb.on('tableCreate', async table =\u003e {\n\t\tconsole.log(`Table ${table} Created`);\n\t});\n\t\n\tdb.on('tableDelete', async table =\u003e {\n\t\tconsole.log(`Table ${table} Deleted`);\n\t});\n\t\n\tdb.on('tableClear', async table =\u003e {\n\t\tconsole.log(`Table ${table} Data Cleared`);\n\t});\n\t\n\tdb.on('tableRename', async (oldName, newName) =\u003e {\n\t\tconsole.log(`Table renamed from ${oldName} to ${newName}`);\n\t});\n}\n```\n#### Methods\n- set (table, key, value)\n```js\nawait db.set('my_table', 'foo', 'bar');\n// -\u003e Stores 'bar' in 'foo' key name in the table 'my_table'\n```\n- get (table, key)\n```js\nawait db.get('my_table', 'foo');\n// -\u003e Gets foo key name value (which is bar) in the table 'my_table'\n```\n- exists (table, key)\n```js\nawait db.exists('my_table', 'foo');\n// -\u003e Checks if a specific data exists\n```\n- base_set (table, key, value)\n```js\nawait db.base_set('my_table', 'foo', 'bar');\n// -\u003e Stores 'bar' in 'foo' key name in the table 'my_table' but base encrypted\n```\n- base_get (table, key)\n```js\nawait db.base_get('my_table', 'foo');\n// -\u003e Gets foo key name value (which is bar) in the table 'my_table' for encrypted rows using base_set method\n```\n- push (table, array, value)\n```js\nawait db.push('my_table', 'fruits', 'banana');\n// -\u003e pushs 'banana' to 'fruits' array in 'my_table' table\n```\n- pull (table, array, value)\n```js\nawait db.pull(\"my_table\", \"fruits\", \"banana\");\n// -\u003e pulls FIRST 'banana' from 'fruits' in 'my_table'\nawait db.pull(\"my_table\", \"fruits\", \"banana\", \"all\");\n// -\u003e pulls ALL 'banana' from 'fruits' in 'my_table'\n```\n- includes (table, array, value)\n```js\nawait db.includes(\"my_table\", \"fruits\", \"banana\");\n// -\u003e Checks if the array includes provided value\n```\n- add (table, key, number)\n```js\nawait db.add(\"my_table\", \"price\", 10);\n// -\u003e add 10 to price in 'my_table' table\n```\n- sub (table, key, number)\n```js\nawait db.sub(\"my_table\", \"price\", 5);\n// -\u003e subtracts 5 from price - the remaining is 5 from price in 'my_table' table\n```\n- all (table)\n```js\nawait db.all(\"my_table\");\n// -\u003e retutn all the data in 'my_table' table\n```\n- delete (table, key)\n```js\nawait db.delete(\"my_table\", \"foo\");\n// -\u003e delete foo key in 'my_table' table\n```\n- tables ()\n```js\nawait db.tables();\n// -\u003e return array of all tables existed in the database\n```\n- rename (table, new_table_name)\n```js\nawait db.rename(\"my_table\", \"new_name\");\n// -\u003e renames table name\n```\n- stats (table)\n```js\nawait db.stats(\"my_table\");\n// -\u003e return table info\n```\n- query (query)\n```js\nawait db.query(\"DROP TABLE my_table;\")\n// -\u003e executes a SQL query\n```\n- auto_increment (table, number)\n```js\nawait db.auto_increment(\"my_table\", 5);\n// -\u003e sets 'my_table' table auto increment to 5\n```\n- create (table)\n```js\nawait db.create(\"table_name\");\n// -\u003e Create empty table with \"table_name\" name without inserting any data to it\n```\n- drop (table)\n```js\nawait db.drop(\"table_name\");\n// -\u003e deletes the table 'table_name'\n```\n- clear (table)\n```js\nawait db.clear(\"table_name\");\n// -\u003e clears all 'table_name' table rows \u0026 data\n```\n- variables (variables_object)\n```js\nawait db.variables({ \n\tmax_connections: 100000,\n\tmax_connect_errors: 100000,\n\twait_timeout: 60\n});\n// -\u003e modifies any global variable\n```\n- ping ()\n```js\nawait db.ping();\n// -\u003e gets database ping (in ms)\n```\n- process ()\n```js\nawait db.process();\n// -\u003e returns the processes/connections list\n```\n- create_db (database_name)\n```js\nawait db.create_db(\"second_db\");\n// -\u003e creates a separate database on the server\n\n// -\u003e you need to create a new connection manually after creating a new database\nconst secondDB = new MySQL();\nlet newDb = await secondDB.connect({\n\thost: 'localhost',\n\tport: '3306',\n\tuser: 'root',\n\tpassword: '',\n\tdatabase: 'second_db',\n\tcharset: 'utf8mb4',\n});\n// note: if you had an old events, you need to re-register the events since this is a new class created\nnewDb.on('connected', async connection =\u003e {\n\tconsole.log('New Database Connected');\n});\n\n// now you can manage your \"newDb\" connection\nawait newDb.set(\"second_db_table\", \"key\", \"value\");\nawait newDb.drop(\"second_db_table\");\nawait newDb.end();\n```\n- end ()\n```js\nawait db.end();\n// -\u003e closes the connection\n```\n\n#### Contributing\n© mysql-database, 2021 - 2023 | \u003ca href=\"https://itariq.dev\" target=\"_blank\"\u003eTARIQ\u003c/a\u003e \u003ca href=\"mailto:contact@itariq.dev\"\u003e(contact@itariq.dev)\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMySQL-Database%2Fmysql-database","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMySQL-Database%2Fmysql-database","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMySQL-Database%2Fmysql-database/lists"}