JDBC-এ MySQL ডেটাবেস তৈরি করতে CREATE DATABASE SQL স্টেটমেন্ট এক্সিকিউট করুন। কানেকশন URL-এ ডেটাবেস নাম দরকার নেই।
সিনট্যাক্স
CREATE DATABASE database_name;
সম্পূর্ণ JDBC প্রোগ্রাম
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateDatabaseExample {
public static void main(String[] args) throws SQLException {
// ১. ড্রাইভার রেজিস্টার
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
// ২. কানেকশন (ডেটাবেস ছাড়া)
String mysqlUrl = "jdbc:mysql://localhost/";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
// ৩. স্টেটমেন্ট তৈরি
Statement stmt = con.createStatement();
// ৪. CREATE DATABASE ক্যোয়ারি
String query = "CREATE DATABASE IF NOT EXISTS MyDatabase";
stmt.execute(query);
System.out.println("Database created......");
// ৫. রিসোর্স বন্ধ
stmt.close();
con.close();
}
}
আউটপুট
Connection established......
Database created......
ডেটাবেস তৈরি হয়েছে কিনা যাচাই
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydatabase | -- নতুন ডেটাবেস
| mysql |
| performance_schema |
| sys |
+--------------------+
গুরুত্বপূর্ণ পয়েন্টস
IF NOT EXISTSক্লজ ব্যবহার করুন — ডেটাবেস থাকলে এরর হবে না- কানেকশন URL-এ ডেটাবেস নাম দিতে হবে না (
jdbc:mysql://localhost/) stmt.execute()ব্যবহার করুন (DML/DDL উভয়ের জন্য)executeUpdate()ও কাজ করবে কিন্তুexecute()আরও জেনারিক
ট্রাই-উইথ-রিসোর্সেস (Java 7+) — সেরা অনুশীলন
public class CreateDatabaseExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost/";
String user = "root";
String pass = "password";
try (Connection con = DriverManager.getConnection(url, user, pass);
Statement stmt = con.createStatement()) {
stmt.execute("CREATE DATABASE IF NOT EXISTS MyDatabase");
System.out.println("Database created successfully!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
অতিরিক্ত অপশনস
CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
UTF-8MB4 (ইমোজি সাপোর্ট সহ) এবং কেস-ইনসেনসিটিভ কোলেশন সেট করে।