JDBC操作MYSQL数据库
- 开发Java数据库应用程序,该程序针对教学数据库JXDB8及其三个表STUDENT、COURSE、SC进行数据的增删改查操作。程序功能具体包括:
(1)输入相关数据到三个表中,包括教材中三个表的数据;
(2)定义有参数的存储过程,并调用存储过程,要求根据用户的输入实现数据查询:①查询指定学号的学生的全部信息,②查询指定课程学生的全部修课信息。要求以表单的形式显示查询的结果;
(3)更新指定学生的学生信息;
(4)删除指定学生的选课信息;
(1)数据库中的操作:
建立数据库JX_DB8
CREATE DATABASE jx_db8;
建立表student的结构
CREATE TABLE student(
Sno CHAR(9),
sname CHAR(20),
sex CHAR(2),
sage INT,
sdept CHAR(20)
);
建立表course的结构
CREATE TABLE Course(Cno CHAR(6),Cname VARCHAR(10),Lhour SMALLINT,Ccreadit SMALLINT,Semester CHAR(2)
);
建立表sc的结构
CREATE TABLE SC(Sno CHAR(8),Cno CHAR(6),Grade SMALLINT
);
JAVA语句对student表增加数据:
package com.sql;
import java.sql.*;
public class student {public static void main(String[] args) throws Exception {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库Statement state=conn.createStatement(); //容器String sql="insert into student values('15202101','刘芳','女',17,'计算机系'),"+ "('15202102','张晓晨','男',19,'计算机系'),"+ "('15202103','王文选','男',20,'计算机系'),"+ "('15202104','张玲','女',21,'计算机系'),"+ "('15202105','李莉萍','女',19,'计算机系')"; //SQL语句state.executeUpdate(sql); //将sql语句上传至数据库执行conn.close();//关闭通道}
}
JAVA语句对course表增加数据:
package com.sql;import java.sql.*;public class course {public static void main(String[] args) throws Exception {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库Statement state=conn.createStatement(); //容器String sql="insert into course values('CS-110','计算机导论','32','2','秋'),"+ "('CS-201','数据结构','80','5','秋'),"+ "('CS-221','软件工程','64','4','春'),"+ "('EE-122','电路基础','48','3','秋'),"+ "('EE-201','电工电子','80','5','春')"; //SQL语句state.executeUpdate(sql); //将sql语句上传至数据库执行conn.close();//关闭通道}
}
JAVA语句对sc表增加数据:
package com.sql;import java.sql.*;public class sc {public static void main(String[] args) throws Exception {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库Statement state=conn.createStatement(); //容器String sql="insert into sc values('15202101','CS-110',95),"+ "('15202101','CS-201',90),"+ "('15202102','CS-110',85),"+ "('15202102','EE-201',80),"+ "('15202103','CS-110',82),"+ "('15202103','CS-201',75),"+ "('15202103','EE-122',87)"; //SQL语句state.executeUpdate(sql); //将sql语句上传至数据库执行conn.close();//关闭通道}
}
(2)①
查询学号为15202101的学生的信息
package com.use;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public class stuuse {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库 try{ResultSet rs = null;// 设置调用的存储过程名及参数情况,注意的是存储过程不可以有输出参数CallableStatement proc = conn.prepareCall("{ call show_stu(?)}");// 设置输入参数proc.setString(1,"15202101");// 调入存储过程proc.execute();// 取出存储过程的结果集rs = proc.getResultSet();for(int i=0;rs.next();i++)System.out.println("姓名:"+rs.getString(2)+" "+"性别:"+rs.getString(3)+" "+"年龄:"+rs.getString(4)+" "+"系:"+rs.getString(5));conn.close();}catch (SQLException e){e.printStackTrace();}}}
存储过程的SQL语句:
DELIMITER //
CREATE PROCEDURE show_stu(IN sno1 CHAR(9))
BEGINSELECT * FROM studentWHERE sno=sno1;
END //
DELIMITER;
②查询指定课程学生的全部修课信息
JAVA代码:
package com.use;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public class scuse {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库 try{ResultSet rs = null;// 设置调用的存储过程名及参数情况,注意的是存储过程不可以有输出参数CallableStatement proc = conn.prepareCall("{ call show_sc(?)}");// 设置输入参数proc.setString(1,"EE-201");// 调入存储过程proc.execute();// 取出存储过程的结果集rs = proc.getResultSet();for(int i=0;rs.next();i++)System.out.println(rs.getString(1));conn.close();}catch (SQLException e){e.printStackTrace();}}}
SQL语句:
DELIMITER $
CREATE PROCEDURE show_sc(IN cno1 CHAR(6))
BEGINSELECT cno FROM scWHERE sno IN (SELECT sno FROM sc WHERE (cno=cno1));
END $
DELIMITER;
更新的JAVA语句:
package com.change;
import java.sql.*;
public class stuchange {public static void main(String[] args) throws Exception {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库Statement state=conn.createStatement(); //容器String sql="update student set sage=25 where sno='15202101' "; //SQL语句state.executeUpdate(sql); //将sql语句上传至数据库执行conn.close();//关闭通道}}
删除的JAVA语句:
package com.change;
import java.sql.*;
public class scchange {public static void main(String[] args) throws Exception {Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动String jdbc="jdbc:mysql://127.0.0.1:3307/jx_db8";Connection conn=DriverManager.getConnection(jdbc, "root", "022831");//链接到数据库Statement state=conn.createStatement(); //容器String sql="delete from sc where sno='15202101'"; //SQL语句state.executeUpdate(sql); //将sql语句上传至数据库执行conn.close();//关闭通道}}
JDBC操作MYSQL数据库相关推荐
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- Java中通过JDBC操作MySQL数据库
JDBC相关的操作 0.JDBC常用类和接口介绍 DriverManager类 DriverManager类用来管理数据库中的所有驱动程序:是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用 ...
- 【Java数据库】使用JDBC操作MySQL数据库、Batch批处理 、事务的概念
MySQL 数据库的命令行操作 登陆操作mysql -hlocalhost –uroot –p123456 退出操作exit 数据库操作建库:create database 库名; 卸载库:drop ...
- 使用JDBC操作MySQL数据库
我们用大学的四年去怀念高中的三年,但是我们会用大学以后的余生去怀念大学的四年. 1.JDBC 概述 JDBC(Java Database Connectivity),Java数据库连接. sun公司为 ...
- [Java]JDBC操作MySQL数据库
public class MysqlConnect {//定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://ip ...
- jdbc操作mysql数据库_JDBC操作MySQL数据库(一)
连接MySQL数据库 连接数据源有两种方式: 1)通过DriverManager类 2)通过DataSource接口及JNDI资源获得连接 DriverManager类的路径为java.sql.Dri ...
- 使用jdbc操作mysql数据库_java使用JDBC操作MYSQL数据库
1.新建数据库 DROP TABLE IF EXISTS `test`.`user`; CREATE TABLE `test`.`user` ( `username` varchar(45) DEFA ...
- java JDBC操作MySQL数据库
一,首先在MYSQL建立一个数据库,例如Geek99DB: create database Geek99DB; use Geek99DB; 然后建立一个表CustomerTab: create tab ...
- mysql jdbc实例_jdbc操作mysql数据库实例
本文实例讲述了jdbc操作mysql数据库的方法.分享给大家供大家参考.具体如下: import java.sql.*; import java.sql.DriverManager; import j ...
- java操作mysql数据库实例_jdbc操作mysql数据库实例
本文实例讲述了jdbc操作mysql数据库的方法.分享给大家供大家参考.具体如下: import java.sql.*; import java.sql.drivermanager; import j ...
最新文章
- C++对象模型学习——站在对象模型的尖端
- 客户端验证:JQuery Validation Plugin
- JS 实现图片的预加载(转载)
- Java 编程的动态性 第1 部分: 类和类装入--转载
- 【百度地图API1.1】修改文本标注的样式
- 如何使div像星星一样,简易demo,授人以鱼,自行更改完善
- 使用 Recipe 安装 SAP Commerce Cloud
- 【最短路】【SPFA】电车 (luogu 1346)
- drools6.5_使用Drools 6.0进行部署
- 北理计算机网络实验汇编,北理计算机与网络实验(II)(汇编语言实验4).docx
- javascript最新版本_JavaScript 引擎「V8」发布 8.0 版本,内存占用量大幅下降
- linux 软raid配置-系统安装
- Yii2学习笔记(一):Yii的安装和使用(base版)
- 移动硬盘提示“需要格式化”
- 阿里云大数据工程师(ACP)认证考试大纲
- 学术英语理工(第二版)Unit1课文翻译
- 蓝带 拱桥 区别_蓝带
- 单反毁三代,kindle富一生
- python改word域_python修改word
- BZOJ1202 狡猾的商人 (Floyd)