Express + MySQL CRUD Tutorial

Express + MySQL CRUD Tutorial

Node.js, Express.js এবং MySQL দিয়ে সম্পূর্ণ CRUD অপারেশন

Express + MySQL কেন ব্যবহার করবেন?

Express.js হলো একটি লাইটওয়েট Node.js ফ্রেমওয়ার্ক যা API এবং ব্যাকএন্ড তৈরি সহজ করে। অন্যদিকে MySQL হলো একটি শক্তিশালী রিলেশনাল ডাটাবেজ সিস্টেম যেটা টেবিল ভিত্তিক ডাটা স্টোরেজ ব্যবস্থাকে সহজ করে। এই টিউটোরিয়ালে আমরা Express + MySQL ব্যবহার করে CRUD (Create, Read, Update, Delete) সিস্টেম তৈরি করবো।

প্রজেক্ট সেটআপ

mkdir express-mysql-crud
cd express-mysql-crud
npm init -y
npm install express mysql2 cors
        

এবার server.js ফাইল তৈরি করুন।

MySQL Database Connection

প্রথমে MySQL-এ একটি database তৈরি করুন:

CREATE DATABASE studentdb;
USE studentdb;

CREATE TABLE students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    class INT,
    marks INT
);
        

এবার Node.js থেকে MySQL কানেক্ট করবো:

const express = require("express");
const mysql = require("mysql2");
const app = express();

app.use(express.json());

const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "studentdb"
});

db.connect(err => {
    if (err) throw err;
    console.log("MySQL Connected");
});

app.listen(5000, () => {
    console.log("Server running on port 5000");
});
        

CRUD API Routes

1. Create (POST)

Student যোগ করার API:

app.post("/students", (req, res) => {
    const { name, class: cls, marks } = req.body;
    
    const sql = "INSERT INTO students (name, class, marks) VALUES (?, ?, ?)";
    db.query(sql, [name, cls, marks], (err, result) => {
        if (err) throw err;
        res.json({ message: "Student Added", id: result.insertId });
    });
});
        

2. Read All (GET)

সকল Student ডাটাবেজ থেকে আনা:

app.get("/students", (req, res) => {
    const sql = "SELECT * FROM students";
    db.query(sql, (err, results) => {
        if (err) throw err;
        res.json(results);
    });
});
        

3. Read Single (GET by ID)

app.get("/students/:id", (req, res) => {
    const sql = "SELECT * FROM students WHERE id = ?";
    db.query(sql, [req.params.id], (err, results) => {
        if (err) throw err;
        res.json(results[0]);
    });
});
        

4. Update (PUT)

app.put("/students/:id", (req, res) => {
    const { name, class: cls, marks } = req.body;
    
    const sql = "UPDATE students SET name=?, class=?, marks=? WHERE id=?";
    db.query(sql, [name, cls, marks, req.params.id], (err) => {
        if (err) throw err;
        res.json({ message: "Student Updated" });
    });
});
        

5. Delete (DELETE)

app.delete("/students/:id", (req, res) => {
    const sql = "DELETE FROM students WHERE id=?";
    db.query(sql, [req.params.id], (err) => {
        if (err) throw err;
        res.json({ message: "Student Deleted" });
    });
});
        

Express + MySQL CRUD Workflow

  • Client → Server-এ Request পাঠায়
  • Express.js → API রাউট হ্যান্ডেল করে
  • MySQL → Query Execute করে
  • Express → JSON Response পাঠায়

উপসংহার

Express + MySQL ব্যবহার করে খুব সহজেই স্কেলেবল এবং সিকিউর CRUD API তৈরি করা যায়। এই স্ট্রাকচার ব্যবহার করে আপনি রিয়েল লাইফ প্রজেক্ট যেমন— eCommerce, School Management, Inventory System ইত্যাদি তৈরি করতে পারবেন।

👼 Quiz
/

লোড হচ্ছে...