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();
}
}
}
三、代码说明
- 导入相关类
java.sql.Connection
:用于与数据库建立连接。java.sql.DriverManager
:用于获取数据库连接。java.sql.Statement
:用于执行SQL语句。
- 数据库连接信息
url
:指定数据库服务器的地址和端口,这里连接的是本地MySQL数据库服务器,端口为3306,不指定具体数据库,因为要创建新的数据库。username
和password
:数据库的用户名和密码,用于身份验证。
- 创建数据库的SQL语句
CREATE DATABASE IF NOT EXISTS mytestdb;
:创建名为mytestdb
的数据库,IF NOT EXISTS
是一个可选子句,用于判断数据库是否已存在,若已存在则不执行创建操作,避免重复创建引发错误。
- 加载并注册JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
:加载MySQL JDBC驱动类,使JDBC能够与MySQL数据库进行交互。
- 建立连接
Connection conn = DriverManager.getConnection(url, username, password);
:通过DriverManager
获取与数据库的连接对象。
- 创建Statement对象
Statement stmt = conn.createStatement();
:通过连接对象创建Statement
对象,用于执行SQL语句。
- 执行SQL语句
stmt.executeUpdate(sql);
:调用Statement
对象的executeUpdate
方法执行创建数据库的SQL语句。executeUpdate
方法用于执行诸如INSERT
、UPDATE
、DELETE
以及CREATE DATABASE
等语句,返回值为受影响的行数或0。
- 关闭资源
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创建数据库的方法。在实际应用中,需要根据具体的业务需求和数据库配置进行相应的调整和优化。