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.rhkb.cn/news/6548.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效沟通驱动LabVIEW项目成功

在LabVIEW项目开发中,由于涉及软件、硬件及多方协作,项目沟通效率的高低直接影响开发进度与最终质量。不明确的需求、信息传递中的误解以及跨部门协作的阻碍,常导致项目延误甚至失败。因此,建立高效的沟通机制,确保信息…

信息收集(下)

一.端口信息收集 1.端口基础认知 A.端口简介 在 Internet 环境中,各主机依据 TCP/IP 协议实现数据包的发送与接收。数据包凭借目的主机的 IP 地址,在互联网络里完成路由选择,进而精准地传至目标主机。然而,当目的主机同时运行多…

springBoot 整合ModBus TCP

ModBus是什么: ModBus是一种串行通信协议,主要用于从仪器和控制设备传输信号到主控制器或数据采集系统,例如用于测量温度和湿度并将结果传输到计算机的系统。(百度答案) ModBus 有些什么东西: ModBus其分…

composer安装指定php版本, 忽略平台原因导致的报错

windows下 //composer安装指定php版本, 写出完整的php和composer.phar路径 D:\phpstudy_pro\Extensions\php\php8.1.11nts\php.exe D:\phpstudy_pro\Extensions\composer1.8.5\composer.phar install windows下一些扩展不支持, 如下图, 所以本地composer安装组件时可以忽略 …

【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界

目录 前言 一、Python—— 网络爬虫的绝佳拍档 二、网络爬虫基础:揭开神秘面纱 (一)工作原理:步步为营的数据狩猎 (二)分类:各显神通的爬虫家族 三、Python 网络爬虫核心库深度剖析 &…

大模型应用与部署 技术方案

大模型应用与部署 技术方案 一、引言 人工智能蓬勃发展,Qwen 大模型在自然语言处理领域地位关键,其架构优势尽显,能处理文本创作等多类复杂任务,提供优质交互。Milvus 向量数据库则是向量数据存储检索利器,有高效索引算法(如 IVF_FLAT、HNSWLIB 等)助力大规模数据集相似…

Postman接口测试工具详解

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ) 目录 引言 Postman简介 Postman的特点 Postman的下载与安装 Postman…

电路研究9.2——合宙Air780EP使用AT指令

这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。 软件的开发方式: AT:MCU 做主控,MCU 发 AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑…

百度APP iOS端磁盘优化实践(上)

01 概览 在APP的开发中,磁盘管理已成为不可忽视的部分。随着功能的复杂化和数据量的快速增长,如何高效管理磁盘空间直接关系到用户体验和APP性能。本文将结合磁盘管理的实践经验,详细介绍iOS沙盒环境下的文件存储规范,探讨业务缓…

Sharding-JDBC 5.4.1+SpringBoot3.4.1+MySQL8.4.1 使用案例

最近在升级 SpringBoot 项目,原版本是 2.7.16,要升级到 3.4.0 ,JDK 版本要从 JDK8 升级 JDK21,原项目中使用了 Sharding-JDBC,版本 4.0.0-RC1,在升级 SpringBoot 版本到 3.4.0 之后,服务启动失败…

【Django】多个APP设置独立的URL

目录 方法一:各个App下设置自己的URL 1、在各自的App当中创建urls.py文件​编辑 2、在主urls当中包含子url 3、各App的urls中设置url 4、设置后台函数 5、最终结果 总结: 方法二:利用as方法,在总的URL中对views重命名 实…

Vue2 项目二次封装Axios

引言 在现代前端开发中,HTTP请求管理是构建健壮应用的核心能力之一。Axios作为目前最流行的HTTP客户端库,其灵活性和可扩展性为开发者提供了强大的基础能力。 1. 为什么要二次封装Axios? 1.1 统一项目管理需求 API路径标准化:…

【算法】经典博弈论问题——巴什博弈 python

目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…

软件开发学习路线——roadmap

推荐软件学习路线网站:https://roadmap.sh/get-started 有有关前端后端开发的学习路径,也有AI,移动开发,管理相关的学习路径 会有相应的词条路径,深入学习 右上角可以设置学习任务的完成情况

Moretl FileSync增量文件采集工具

永久免费: <下载> <使用说明> 我们希望Moretl FileSync是一款通用性很好的文件日志采集工具,解决工厂环境下,通过共享目录采集文件,SMB协议存在的安全性,兼容性的问题. 同时,我们发现工厂设备日志一般为增量,为方便MES,QMS等后端系统直接使用数据,我们推出了增量采…

9、Docker环境安装Nginx

一、拉取镜像 docker pull nginx:1.24.0二、创建映射目录 作用&#xff1a;是将docker中nginx的相关配置信息映射到外面&#xff0c;方便修改配置文件 1、创建目录 # cd home/ # mkdir nginx/ # cd nginx/ # mkdir conf html log2、生成容器 docker run -p 80:80 -d --name…

023:到底什么是感受野?

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请查看这里。 在前面介绍卷积算法时&#xff0c;一直在强调一个内容&#xff0c;那就是卷积算法的运算过程是—— 卷积核在输入图像上滑动扫描的过程。 在每一次扫描时&#xff0c;可以…

BGP(1)邻居建立,路由宣告

拓扑如图&#xff0c;配置地址&#xff0c;配置ospf并宣告相应地址 1、观察bgp邻居的建立 a R1和R3建立bgp邻居 抓包可以看到TCP的三次握手&#xff0c;端口号179 可以看到R1和R3成功建立了IBGP邻居 b 缺省情况下&#xff0c;BGP使用报文出接口作为TCP连接的本地接口&#x…

Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型

大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型&#xff0c;通常使用自监督学习方法通过大量无标签文本进行训练&#xff0c;是深度学习之后的又一大人工智能技术革命。 大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年…

【数据库】详解MySQL数据库中的事务与锁

目录 1.数据库事务 1.1.事务的四大特性 1.2.事务开启的方式 1.3.读一致性问题及其解决 2.MVCC解决读一致性问题原理 2.1.MVCC概念 2.2.准备环境 3.MySQL中的锁 3.1.行锁之共享锁 3.2.行锁之排它锁 1.数据库事务 数据库事务&#xff08;Transaction&#xff09;是一种…