Java:实现不依赖已存在的数据库,创建新数据库(mysql)

本文介绍了如何使用Java通过JDBC驱动动态创建MySQL数据库。在需求背景下,后端根据用户配置的数据库连接信息(IP、端口、用户名、密码),执行SQL语句来创建新的数据库。文中提供了详细的代码示例,展示了从注册JDBC驱动到建立连接,再到执行CREATEDATABASE语句的过程,并给出了自测方法。
摘要由CSDN通过智能技术生成

之前都是通过java来实现连接已存在的数据库或者根据现有数据库创建连接,从而创建新的数据库,从未写过不依赖已存在的数据库,创建新数据库,这不就来了吗

需求背景

这里的背景是要实现当用户在页面做操作时,后端根据部署配置时的数据库的IP、端口、用户名和登录密码来动态根据某些规则创建新的数据库

前置准备

需要用户提前配置好数据库必要参数配置信息

ip

MySQL数据库服务器的地址

port

MySQL数据库服务器的端口

userName

MySQL数据库的用户名

password

MySQL数据库的密码

实现

代码实现

确保已经引入了MySQL的JDBC驱动

自测代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 注册 JDBC 驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "123");
            // 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String dbName = "test";

            String sql = "CREATE DATABASE " + dbName;
            stmt.executeUpdate(sql);
            System.out.println("数据库创建成功!");
        } catch (SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (stmt != null) stmt.close();
            } catch (SQLException se2) {
            }// 什么都不做
            try {
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}

自测

运行代码前查看数据库
在这里插入图片描述
运行,创建名称为test的数据库
在这里插入图片描述
刷新数据库查看如下,创建成功
在这里插入图片描述


最后

  • 好看的灵魂千篇一律,有趣的鲲志一百六七!
  • 如果觉得文章还不错的话,可以点赞+收藏+关注 支持一下,鲲志的主页 还有很多有趣的文章,欢迎小伙伴们前去点评
  • 如果有什么需要改进的地方还请大佬指出❌

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲲志说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值