Query তে Filtering Conditions ব্যবহার করা

Java দিয়ে Data Filtering এবং Pagination - জাভা মাইএসকিউএল (Java MySQL) - Database Tutorials

342

MySQL ডেটাবেসে ডেটা রিটার্ভ করতে SQL Query তে Filtering Conditions ব্যবহার করা হয়। এই কন্ডিশনগুলো WHERE, AND, OR, LIKE, BETWEEN, IN, এবং অন্যান্য অপারেটর দিয়ে ডেটা ফিল্টার করতে সাহায্য করে। জাভাতে JDBC (Java Database Connectivity) ব্যবহার করে এই ধরনের ক্যোয়ারি চালানো যায়।

নিচে Filtering Conditions নিয়ে বিস্তারিত আলোচনা এবং উদাহরণ দেওয়া হলো।


1. WHERE ক্লজ দিয়ে Filtering

WHERE ক্লজ ব্যবহার করে আপনি নির্দিষ্ট শর্ত অনুযায়ী ডেটা ফিল্টার করতে পারেন। এটি সবচেয়ে সাধারণভাবে ব্যবহৃত কন্ডিশন ফিল্টারিং পদ্ধতি।

উদাহরণ:

import java.sql.*;

public class WhereConditionExample {
    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 ক্যোয়ারি তৈরি
            String sql = "SELECT * FROM Employees WHERE Age > 30";

            // Statement তৈরি এবং ক্যোয়ারি এক্সিকিউট করা
            stmt = conn.createStatement();
            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();
            }
        }
    }
}

এই উদাহরণে:

  • WHERE Age > 30 শর্তে শুধুমাত্র সেই রেকর্ডগুলো আনা হয়েছে, যেগুলোর বয়স ৩০ এর বেশি।

2. AND এবং OR অপারেটর দিয়ে Filtering

AND এবং OR অপারেটর ব্যবহার করে একাধিক শর্ত যুক্ত করা যায়। AND ব্যবহার করলে সব শর্ত মিলে এমন রেকর্ড পাওয়া যায়, আর OR ব্যবহার করলে যেকোনো এক শর্ত মিলে এমন রেকর্ড পাওয়া যায়।

উদাহরণ:

import java.sql.*;

public class AndOrConditionExample {
    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 ক্যোয়ারি তৈরি (AND এবং OR ব্যবহার)
            String sql = "SELECT * FROM Employees WHERE Age > 30 AND Name LIKE 'J%'";

            // Statement তৈরি এবং ক্যোয়ারি এক্সিকিউট করা
            stmt = conn.createStatement();
            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();
            }
        }
    }
}

এই উদাহরণে:

  • WHERE Age > 30 AND Name LIKE 'J%' শর্তে এমন রেকর্ডগুলো ফিল্টার করা হয়েছে যেগুলোর বয়স ৩০ এর বেশি এবং নাম 'J' দিয়ে শুরু হয়।

3. LIKE অপারেটর দিয়ে Pattern Matching

LIKE অপারেটর ব্যবহার করে আপনি স্ট্রিং প্যাটার্নের সাথে মিলিয়ে ডেটা খুঁজতে পারেন। এটি বিশেষত টেক্সট ফিল্টারিংয়ের জন্য ব্যবহার হয়। % ব্যবহার করে যে কোনো শব্দ বা অক্ষর মিলাতে পারেন এবং _ দিয়ে একক ক্যারেক্টার মিলাতে পারেন।

উদাহরণ:

import java.sql.*;

public class LikeConditionExample {
    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 ক্যোয়ারি তৈরি (LIKE অপারেটর ব্যবহার)
            String sql = "SELECT * FROM Employees WHERE Name LIKE 'A%'";

            // Statement তৈরি এবং ক্যোয়ারি এক্সিকিউট করা
            stmt = conn.createStatement();
            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();
            }
        }
    }
}

এই উদাহরণে:

  • WHERE Name LIKE 'A%' শর্তে নাম 'A' দিয়ে শুরু এমন রেকর্ডগুলো খুঁজে পাওয়া যাবে।

4. BETWEEN অপারেটর দিয়ে Range Filtering

BETWEEN অপারেটর দিয়ে আপনি নির্দিষ্ট রেঞ্জের মধ্যে ডেটা ফিল্টার করতে পারেন। এটি সাধারণত সংখ্যার বা তারিখের ক্ষেত্রে ব্যবহার হয়।

উদাহরণ:

import java.sql.*;

public class BetweenConditionExample {
    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 ক্যোয়ারি তৈরি (BETWEEN অপারেটর ব্যবহার)
            String sql = "SELECT * FROM Employees WHERE Age BETWEEN 25 AND 35";

            // Statement তৈরি এবং ক্যোয়ারি এক্সিকিউট করা
            stmt = conn.createStatement();
            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();
            }
        }
    }
}

এই উদাহরণে:

  • WHERE Age BETWEEN 25 AND 35 শর্তে বয়স ২৫ থেকে ৩৫ এর মধ্যে এমন রেকর্ডগুলো ফিল্টার করা হয়েছে।

5. IN অপারেটর দিয়ে Multiple Values Filtering

IN অপারেটর ব্যবহার করে আপনি একাধিক মানের মধ্যে থেকে ডেটা নির্বাচন করতে পারেন। এটি OR কন্ডিশনের বিকল্প হিসেবে ব্যবহার হয়।

উদাহরণ:

import java.sql.*;

public class InConditionExample {
    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
Content added By
Promotion

Are you sure to start over?

Loading...