1.0.2 • Published 11 months ago

js-mysql-orm v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Custom JavaScript ORM for MySQL

npm version

This is a lightweight custom Object-Relational Mapping (ORM) library written in JavaScript, designed to simplify interactions with MySQL databases. It allows you to create tables, insert, update, delete, and query records using a simple and chainable API.

Features

  • Easy MySQL connection setup
  • Create and drop tables
  • Insert, update, and delete records
  • Query records with filtering options
  • Chainable API for intuitive usage

Installation

  1. Clone the repository:

    git clone https://github.com/itzoverdark/js-mysql-orm
  2. Install the required dependencies:

    npm install mysql2

Usage

Connect to the Database

  • Start by creating a connection to your MySQL database using the Database class.
const Database = require("./path/to/Database.js");

const db = new Database(
    "127.0.0.1", // host
    "root",      // username
    "password",  // password
    "mydb",      // database name
    3306         // port
);

db.connect()
    .then(() => console.log("Connected to database"))
    .catch((err) => console.error("Database connection error:", err));

Creating a Table

  • Use the createTable method to create a new table in the database.
await db.createTable("users", {
    id: { type: "number", primaryKey: true, autoIncrement: true },
    name: { type: "string" },
    age: { type: "number" },
});

Inserting Records

  • Insert records using a chainable API.
await db.table("users")
    .insert()
    .records({ name: "Ishaq", age: 18 })
    .execute();
  • Insert multiple records:
await db.table("users")
    .insert()
    .records([{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }])
    .execute();

Querying Records

  • Select all records from a table:
const users = await db.table("users").select().execute();
  • Select specific columns with filtering:
const users = await db.table("users")
    .select()
    .columns("name", "age")
    .where("age > 18")
    .execute();

Updating Records

  • Update records in the table:
await db.table("users")
    .update()
    .set({ age: 21 })
    .where("name = 'Ishaq'")
    .execute();

Deleting Records

  • Delete records based on conditions:
await db.table("users")
    .delete()
    .where("age < 18")
    .execute();

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the MIT License.

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago