MySQL Database তৈরি এবং পরিচালনা

Java এবং MySQL এর মধ্যে ডেটাবেস সংযোগ তৈরি - জাভা মাইএসকিউএল (Java MySQL) - Database Tutorials

311

Java অ্যাপ্লিকেশন থেকে MySQL ডেটাবেস তৈরি এবং পরিচালনা করার জন্য JDBC (Java Database Connectivity) ব্যবহার করা হয়। JDBC এর মাধ্যমে আপনি MySQL ডেটাবেসের সাথে সংযোগ স্থাপন, ডেটাবেস তৈরি, ডেটাবেসে টেবিল তৈরি, ডেটা ইনসার্ট, আপডেট, ডিলিট, এবং ক্যোয়ারি পরিচালনা করতে পারেন।

নিচে ধাপে ধাপে MySQL ডেটাবেস তৈরি এবং পরিচালনা করার প্রক্রিয়া বর্ণনা করা হলো।


1. MySQL ডেটাবেস তৈরি করা

JDBC ব্যবহার করে MySQL ডেটাবেস তৈরি করতে প্রথমে ডেটাবেস সার্ভারে সংযোগ স্থাপন করতে হবে, তারপর SQL ক্যোয়ারি চালিয়ে নতুন ডেটাবেস তৈরি করতে হবে।

উদাহরণ:

import java.sql.*;

public class CreateDatabaseExample {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;

        try {
            // ড্রাইভার লোড করা
            Class.forName("com.mysql.cj.jdbc.Driver");

            // MySQL সার্ভারে সংযোগ স্থাপন (এখনও কোনো ডেটাবেস নির্বাচন করা হয়নি)
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "password");

            // SQL স্টেটমেন্ট তৈরি
            stmt = conn.createStatement();

            // নতুন ডেটাবেস তৈরি
            String sql = "CREATE DATABASE TestDB";
            stmt.executeUpdate(sql);
            System.out.println("Database created successfully.");

        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
                // সংযোগ বন্ধ করা
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

এই কোডের মাধ্যমে আপনি TestDB নামক একটি ডেটাবেস তৈরি করতে পারবেন।

  • CREATE DATABASE TestDB; SQL ক্যোয়ারি দিয়ে ডেটাবেস তৈরি করা হয়েছে।
  • conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "password"); এর মাধ্যমে আপনি ডেটাবেস সার্ভারে সংযোগ স্থাপন করেছেন। এখানে, "localhost" হলো MySQL সার্ভারের হোস্ট এবং "3306" হলো ডিফল্ট পোর্ট।

2. MySQL ডেটাবেসে টেবিল তৈরি করা

একটি ডেটাবেস তৈরি করার পর, আপনি সেই ডেটাবেসে টেবিল তৈরি করতে পারবেন। টেবিল তৈরি করতে CREATE TABLE SQL কমান্ড ব্যবহার করা হয়।

উদাহরণ:

import java.sql.*;

public class CreateTableExample {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;

        try {
            // ড্রাইভার লোড করা
            Class.forName("com.mysql.cj.jdbc.Driver");

            // ডেটাবেস সংযোগ স্থাপন
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/TestDB", "root", "password");

            // SQL স্টেটমেন্ট তৈরি
            stmt = conn.createStatement();

            // টেবিল তৈরি করার SQL ক্যোয়ারি
            String sql = "CREATE TABLE Employees (" +
                         "ID INT NOT NULL AUTO_INCREMENT, " +
                         "Name VARCHAR(255), " +
                         "Age INT, " +
                         "PRIMARY KEY (ID))";
            stmt.executeUpdate(sql);
            System.out.println("Table created successfully.");

        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
                // সংযোগ বন্ধ করা
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

এই কোডে:

  • Employees নামে একটি টেবিল তৈরি করা হয়েছে।
  • টেবিলটির মধ্যে ID, Name, এবং Age কলাম রয়েছে। ID কলামটি প্রাইমারি কিই (PRIMARY KEY) এবং AUTO_INCREMENT সেন্টেন্স ব্যবহার করা হয়েছে যাতে প্রতি ইনসার্টে স্বয়ংক্রিয়ভাবে মান বাড়ে।

3. MySQL ডেটাবেসে ডেটা ইনসার্ট করা

টেবিল তৈরি করার পর, ডেটাবেসে ডেটা ইনসার্ট করতে INSERT INTO SQL ক্যোয়ারি ব্যবহার করা হয়।

উদাহরণ:

import java.sql.*;

public class InsertDataExample {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;

        try {
            // ড্রাইভার লোড করা
            Class.forName("com.mysql.cj.jdbc.Driver");

            // ডেটাবেস সংযোগ স্থাপন
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/TestDB", "root", "password");

            // SQL ক্যোয়ারি তৈরি
            String sql = "INSERT INTO Employees (Name, Age) VALUES (?, ?)";

            // PreparedStatement তৈরি
            pstmt = conn.prepareStatement(sql);

            // ডেটা সেট করা
            pstmt.setString(1, "John Doe");
            pstmt.setInt(2, 30);

            // ক্যোয়ারি চালানো
            pstmt.executeUpdate();
            System.out.println("Data inserted successfully.");

        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
                // সংযোগ বন্ধ করা
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

এই কোডে:

  • INSERT INTO Employees (Name, Age) VALUES (?, ?) SQL ক্যোয়ারি ব্যবহার করা হয়েছে।
  • PreparedStatement ব্যবহার করা হয়েছে যাতে নিরাপদে ডেটা ইনসার্ট করা যায় এবং SQL ইনজেকশন এড়ানো যায়।

4. MySQL ডেটাবেস থেকে ডেটা রিট্রিভাল (SELECT)

ডেটাবেস থেকে ডেটা রিট্রিভাল করতে SELECT SQL ক্যোয়ারি ব্যবহার করা হয় এবং ResultSet থেকে ডেটা এক্সট্র্যাক্ট করা হয়।

উদাহরণ:

import java.sql.*;

public class SelectDataExample {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // ড্রাইভার লোড করা
            Class.forName("com.mysql.cj.jdbc.Driver");

            // ডেটাবেস সংযোগ স্থাপন
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/TestDB", "root", "password");

            // SQL ক্যোয়ারি চালানো
            stmt = conn.createStatement();
            String sql = "SELECT * FROM Employees";
            rs = stmt.executeQuery(sql);

            // রেকর্ডগুলি প্রক্রিয়া করা
            while (rs.next()) {
                int id = rs.getInt("ID");
                String name = rs.getString("Name");
                int age = rs.getInt("Age");
                System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
            }

        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            try {
                // সংযোগ বন্ধ করা
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

এই কোডে:

  • SELECT * FROM Employees ক্যোয়ারি চালিয়ে Employees টেবিল থেকে সমস্ত রেকর্ড রিট্রিভ করা হয়েছে।
  • ResultSet থেকে ডেটা এক্সট্র্যাক্ট করে প্রিন্ট করা হয়েছে।

5. MySQL ডেটাবেসে ডেটা আপডেট এবং ডিলিট করা

ডেটাবেসে ডেটা আপডেট বা ডিলিট করতে UPDATE এবং DELETE SQL ক্যোয়ারি ব্যবহার করা হয়।

ডেটা আপডেট করা:

String updateSql = "UPDATE Employees SET Age = ? WHERE Name = ?";
PreparedStatement pstmt = conn.prepareStatement(updateSql);
pstmt.setInt(1, 35);
pstmt.setString(2, "John Doe");
pstmt.executeUpdate();

ডেটা ডিলিট করা:

String deleteSql = "DELETE FROM Employees WHERE Name = ?";
PreparedStatement pstmt = conn.prepareStatement(deleteSql);
pstmt.setString(1, "John Doe");
pstmt.executeUpdate();

সারাংশ

JDBC এর মাধ্যমে Java অ্যাপ্লিকেশন থেকে MySQL ডেটাবেস তৈরি এবং পরিচালনা করা সম্ভব। MySQL ডেটাবেস তৈরি করতে CREATE DATABASE, টেবিল তৈরি করতে CREATE TABLE, ডেটা ইনসার্ট করতে INSERT INTO, ডেটা রিট্রিভ করতে SELECT, এবং ডেটা আপডেট/ডিলিট করতে যথাক্রমে `UPDATE

Content added By
Promotion

Are you sure to start over?

Loading...