New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

qeasy

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qeasy

Query Easy: Simple SQL helper like Mongoose for MySQL/MariaDB

latest
npmnpm
Version
1.0.5
Version published
Maintainers
1
Created
Source

🚀 QEasy (Query Easy)

npm version npm downloads license

🚀 QEasy (Query Easy)

A lightweight SQL helper for Node.js Easily perform CRUD operations, joins, where clauses, ordering, limits, and offsets without writing raw SQL.

📦 Installation

npm install qeasy

⚡ Quick Start

const qeasy = require("qeasy");

// 1️⃣ Connect to Database
qeasy.connectDB({
  host: "localhost",
  user: "root",
  password: "password",
  database: "mydb",
  port: 3306,
});

// 2️⃣ Check Connection
qeasy.checkConnection()
  .then(() => console.log("✅ Database connected"))
  .catch(err => console.error("❌ Connection error:", err));

🔑 Basic CRUD Examples

Insert Data (Table name , dataObj)

await qeasy.insert("users", {
  name: "John Doe",
  email: "john@example.com",
  age: 25,
});

Find All (Table name)

const users = await qeasy.findAll("users");
console.log(users);

Find By ID (Table name , Field name , id )

const user = await qeasy.findById("users", "id", 1);
console.log(user);

Update By ID (Table name , Field name , id , dataObj)

await qeasy.findByIdAndUpdate("users", "id", 1, { age: 26 });

Delete By ID (Table name , Field name , id)

await qeasy.findByIdAndDelete("users", "id", 1);

🔗 Joins Made Easy

const results = await qeasy.findWithJoins({
  table: "orders",
  as: "o",
  selectedColumns: ["o.id", "o.total", "u.name"],
  joins: [
    {
      table: "users",
      as: "u",
      type: "INNER",
      on: { "u.id": "o.user_id" },
    },
  ],
  where: [
    { column: "u.age", operator: ">", value: 18 },
  ],
  orderBy: [
    { column: "o.total", direction: "DESC" },
  ],
  limit: 10,
  offset: 0,
});

console.log(results);

🎯 Options Explained

## Joins
interface JoinOption {
  table: string;      // table name
  as?: string;        // alias
  type?: "INNER" | "LEFT" | "RIGHT";
  on: { [key: string]: string }; // join condition
}

Where Condition

interface WhereCondition {
  column: string;  // e.g., "u.id"
  operator?: string; // '=', '>', '<', 'LIKE'
  value: any;
}

Order By

interface OrderByOption {
  column: string; // e.g., "u.name"
  direction?: "ASC" | "DESC";
}

🧑‍💻 Example Project

const qeasy = require("qeasy");

async function run() {
  qeasy.connectDB({
    host: "localhost",
    user: "root",
    password: "password",
    database: "shopdb",
  });

  // Insert a product
  await qeasy.insert("products", { name: "Laptop", price: 50000 });

  // Get all products
  const products = await qeasy.findAll("products");
  console.log(products);

  // Join example: Orders + Users
  const orders = await qeasy.findWithJoins({
    table: "orders",
    as: "o",
    selectedColumns: ["o.id", "u.name", "o.total"],
    joins: [{ table: "users", as: "u", on: { "u.id": "o.user_id" } }],
  });
  console.log(orders);
}

run();

📌 Why QEasy?

✅ Simple, mongoose-like syntax ✅ No need to write raw SQL queries ✅ Supports CRUD + complex joins ✅ Beginner-friendly

✨ That’s it! With just npm i qeasy, you can start querying your SQL DB easily.

Keywords

mysql

FAQs

Package last updated on 17 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts