สร้าง Database ใหม่ด้วย Java JDBC
ใช้คำสั่ง CREATE DATABASE ผ่าน Statement.execute()
โค้ดตัวอย่าง
import java.sql.*;
public class CreateDatabaseExample {
public static void main(String[] args) throws SQLException {
// 1. Register Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// 2. Get Connection (ไม่ระบุ DB)
String url = "jdbc:mysql://localhost/";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("Connection established...");
// 3. Create Statement
Statement stmt = con.createStatement();
// 4. Execute CREATE DATABASE
String query = "CREATE DATABASE MyDatabase";
stmt.execute(query);
System.out.println("Database created");
}
}
Output
Connection established... Database created...
ตรวจสอบด้วย SHOW DATABASES
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mydatabase | ← ใหม่ | mysql | | performance_schema | | sys | | ... | +--------------------+
ข้อควรระวัง
- Connection URL ไม่ต้องระบุ Database (ใช้ / ท้าย)
- User ต้องมีสิทธิ์ CREATE DATABASE
- ชื่อ Database ต้องไม่ซ้ำ (Error 1007)
- ใช้
CREATE DATABASE IF NOT EXISTSเพื่อป้องกัน Error - Character Set/Collation:
CREATE DATABASE db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
Best Practice
- ใช้ Try-with-resources ปิด Connection อัตโนมัติ
- ใช้ PreparedStatement สำหรับ Dynamic SQL
- Handle SQLException อย่างเหมาะสม