当前位置: 首页 > article >正文

Java学习教程,从入门到精通,JDBC创建数据库语法知识点及案例代码(99)

JDBC创建数据库语法知识点及案例代码

一、JDBC创建数据库语法

在JDBC中,创建数据库主要通过执行SQL语句来实现。其基本语法如下:

CREATE DATABASE database_name;
  • CREATE DATABASE 是固定的SQL语句关键字,用于指定创建数据库的操作。
  • database_name 是要创建的数据库的名称,可以根据实际需求自定义,但需遵循数据库命名规范,如不能以数字开头、不能包含特殊字符等。

二、案例代码

以下是一个使用JDBC创建数据库的Java案例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateDatabaseExample {
    public static void main(String[] args) {
        // 数据库连接信息
        String url = "jdbc:mysql://localhost:3306/";  // 连接本地MySQL数据库服务器,不指定具体数据库
        String username = "root";  // 数据库用户名
        String password = "123456";  // 数据库密码
        // 创建数据库的SQL语句
        String sql = "CREATE DATABASE IF NOT EXISTS mytestdb;";  // 创建名为mytestdb的数据库,若已存在则不创建
        try {
            // 加载并注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 建立连接
            Connection conn = DriverManager.getConnection(url, username, password);
            // 创建Statement对象
            Statement stmt = conn.createStatement();
            // 执行SQL语句
            stmt.executeUpdate(sql);  // 使用executeUpdate方法执行创建数据库的SQL语句
            System.out.println("数据库创建成功!");
            // 关闭资源
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

三、代码说明

  1. 导入相关类
    • java.sql.Connection:用于与数据库建立连接。
    • java.sql.DriverManager:用于获取数据库连接。
    • java.sql.Statement:用于执行SQL语句。
  2. 数据库连接信息
    • url:指定数据库服务器的地址和端口,这里连接的是本地MySQL数据库服务器,端口为3306,不指定具体数据库,因为要创建新的数据库。
    • usernamepassword:数据库的用户名和密码,用于身份验证。
  3. 创建数据库的SQL语句
    • CREATE DATABASE IF NOT EXISTS mytestdb;:创建名为mytestdb的数据库,IF NOT EXISTS是一个可选子句,用于判断数据库是否已存在,若已存在则不执行创建操作,避免重复创建引发错误。
  4. 加载并注册JDBC驱动
    • Class.forName("com.mysql.cj.jdbc.Driver");:加载MySQL JDBC驱动类,使JDBC能够与MySQL数据库进行交互。
  5. 建立连接
    • Connection conn = DriverManager.getConnection(url, username, password);:通过DriverManager获取与数据库的连接对象。
  6. 创建Statement对象
    • Statement stmt = conn.createStatement();:通过连接对象创建Statement对象,用于执行SQL语句。
  7. 执行SQL语句
    • stmt.executeUpdate(sql);:调用Statement对象的executeUpdate方法执行创建数据库的SQL语句。executeUpdate方法用于执行诸如INSERTUPDATEDELETE以及CREATE DATABASE等语句,返回值为受影响的行数或0。
  8. 关闭资源
    • stmt.close();conn.close();:分别关闭Statement对象和连接对象,释放数据库资源,避免资源泄露。

通过以上步骤和代码,即可使用JDBC成功创建一个名为mytestdb的数据库。在实际开发中,需要根据具体的数据库类型和配置调整连接信息等参数。

以下是一些不同数据库环境下使用JDBC创建数据库的具体案例。

四、MySQL数据库案例

1. 创建一个用于存储学生信息的数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateStudentDB {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/";
        String username = "root";
        String password = "123456";
        String sql = "CREATE DATABASE IF NOT EXISTS studentdb;";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("学生信息数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这个案例中,创建了一个名为studentdb的数据库,后续可以在该数据库中创建学生信息相关的表,如学生的基本信息表、成绩表等。

2. 创建一个电商数据库

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

public class CreateECommerceDB {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/";
        String username = "root";
        String password = "123456";
        String sql = "CREATE DATABASE IF NOT EXISTS ecommerce;";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("电商数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这个电商数据库ecommerce可以用于存储商品信息、订单信息、用户信息等电商相关的数据。

五、Oracle数据库案例

1. 创建一个企业资源规划(ERP)数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateERPDB {
    public static void main(String[] args) {
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        String username = "system";
        String password = "oracle";
        String sql = "CREATE DATABASE erpdb;";
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("ERP数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在Oracle数据库中,创建数据库的语法稍有不同,且连接字符串的格式也与MySQL不同。这个erpdb数据库可用于存储企业的生产、销售、库存等各类资源信息。

2. 创建一个金融数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateFinanceDB {
    public static void main(String[] args) {
        String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        String username = "system";
        String password = "oracle";
        String sql = "CREATE DATABASE financedb;";
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("金融数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

金融数据库financedb可以用于存储金融交易数据、客户账户信息、风险评估数据等金融领域的关键信息。

六、SQL Server数据库案例

1. 创建一个医疗数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateMedicalDB {
    public static void main(String[] args) {
        String url = "jdbc:sqlserver://localhost:1433;";
        String username = "sa";
        String password = "123456";
        String sql = "CREATE DATABASE medicaldb;";
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("医疗数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

医疗数据库medicaldb可用于存储患者的病历信息、医生的诊断信息、药品库存信息等医疗相关的数据。

2. 创建一个物流数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreateLogisticsDB {
    public static void main(String[] args) {
        String url = "jdbc:sqlserver://localhost:1433;";
        String username = "sa";
        String password = "123456";
        String sql = "CREATE DATABASE logisticsdb;";

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("物流数据库创建成功!");
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

物流数据库logisticsdb可以用于存储货物运输信息、仓库库存信息、物流配送路线等物流业务的关键数据。
以上案例涵盖了MySQL、Oracle和SQL Server这三种常见的数据库管理系统,通过这些案例,初学者可以更好地理解和掌握在不同数据库环境下使用JDBC创建数据库的方法。在实际应用中,需要根据具体的业务需求和数据库配置进行相应的调整和优化。


http://www.kler.cn/a/516090.html

相关文章:

  • MySQL训练营-慢查询诊断问题
  • 算法竞赛之离散化技巧 python
  • Java 生成 PDF 文档 如此简单
  • Day 15 卡玛笔记
  • Maven的下载安装配置
  • OpenVela 各模块之间的交互方式和数据流
  • SpringBoot读取配置优先级顺序是什么?
  • 【记录自开发的SQL工具】工具字符拼接、Excel转sql、生成编码、生成测试数据
  • verilog笔记1
  • jmeter中对接口进行循环请求后获取相应数据
  • 智能工厂数字化化集成落地项目(交付版 67页)PPT 解读
  • K8S 快速实战
  • 【ARTS】【LeetCode-704】二分查找算法
  • 洛谷刷题1-3
  • Java如何实现反转义
  • 【Ubuntu】安装SSH启用远程连接
  • UE 像素流Pixel Streaming笔记
  • 五种高频设计模式及其在 Spring 中的应用揭秘
  • Git克隆 提示证书验证失败解决
  • Python OrderedDict 实现 Least Recently used(LRU)缓存
  • 【易康eCognition实验教程】002:创建工作空间、工程
  • 分布式光纤应变监测是一种高精度、分布式的监测技术
  • element tbas增加下拉框
  • Windows Server 虚拟化环境中SR-IOV网络I/O增强功能
  • HTML5 常用事件详解
  • JavaScript图像处理,常用图像边缘检测算法简单介绍说明