一、实验内容: 首先建立一个数据库,通过编程实现:
- 建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
文章图片
3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序排序显示输出到控制台。
二、实验代码: 【注】:这几部分还是分开写比较合适,获得结果更容易
(1)创建表:
package Test4;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
//202056228杨丽花
/*
* 首先建立一个数据库,通过编程实现:
1. 建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2500 助工
1002 张小华 女 30 1000 工程师
1003 宁涛男 50 600高工2.向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。
*/public class Test4_111 { public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try {
//1.注册数据库的驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//版本为6.02之后
//2.通过DriverManager获得数据库的连接
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
conn =DriverManager.getConnection(url,username,password);
//3.通过 Connection对象获取Statement对象
stmt=conn.createStatement();
//4.使用Statement执行SQL语句String create="create table users("
+ "id int(40),"
+ "name varchar(40), "
+ "sex varchar(40), "
+ "age varchar(40), "
+ "wage varchar(40), "
+ "work varchar(40))";
//创建表
stmt.executeLargeUpdate(create);
}catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.回收数据库资源if(stmt!=null) {
try {
stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null) {
try {
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
conn=null;
}
} } private static Object age(int i) {
// TODO Auto-generated method stub
return null;
}}
(2)插入表:
package Test4;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
//202056228杨丽花
/*
* 首先建立一个数据库,通过编程实现:
1. 建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2500 助工
1002 张小华 女 30 1000 工程师
1003 宁涛男 50 600高工2.向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。
*/public class Test4_222 { public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try {
//1.注册数据库的驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//版本为6.02之后
//2.通过DriverManager获得数据库的连接
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
conn =DriverManager.getConnection(url,username,password);
//3.通过 Connection对象获取Statement对象
stmt=conn.createStatement();
//4.使用Statement执行SQL语句
String select="select *from users";
String create="create table users("
+ "id int(40),"
+ "name varchar(40), "
+ "sex varchar(40), "
+ "age varchar(40), "
+ "wage varchar(40), "
+ "work varchar(40))";
String insert = "insert into users(id,name,sex,age,wage,work)\r\n"
+ "Values(1001,'丁卫国','男',25,2500,'助工'),\r\n"
+ "(1002,'张小华','女',30,1000,'工程师'),\r\n"
+ "(1003,'宁涛','男',50,600,'高工')";
//创建表
///stmt.executeLargeUpdate(create);
//插入表
//stmt.executeLargeUpdate(insert);
rs=stmt.executeQuery(select);
//5.操作ResultSet结果集
System.out.println("id|name|sex|"+
"age|wage|work|");
while(rs.next()) {
int id=rs.getInt("id");
//通过列名获得指定字段的值-编号
String name=rs.getString("name");
//姓名
String sex=rs.getString("sex");
//性别
double wage=rs.getDouble("wage");
//工资
int age=rs.getInt("age");
//年龄
String work=rs.getString("work");
//职称
System.out.println(id+"|"+name+"|"+sex+"|"
+age+"|"+wage+"|"+work+"|");
}
}catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.回收数据库资源if(stmt!=null) {
try {
stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null) {
try {
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
conn=null;
}
} } private static Object age(int i) {
// TODO Auto-generated method stub
return null;
}}
(3)增加工资,修改:
package Test4;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
//202056228杨丽花
/*
* 首先建立一个数据库,通过编程实现:
1. 建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2500 助工
1002 张小华 女 30 1000 工程师
1003 宁涛男 50 600高工2.向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。
*/public class Test4_333 { public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try {
//1.注册数据库的驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//版本为6.02之后
//2.通过DriverManager获得数据库的连接
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
conn =DriverManager.getConnection(url,username,password);
//3.通过 Connection对象获取Statement对象
stmt=conn.createStatement();
//4.使用Statement执行SQL语句
String select="select *from users";
String create="create table users("
+ "id int(40),"
+ "name varchar(40), "
+ "sex varchar(40), "
+ "age varchar(40), "
+ "wage varchar(40), "
+ "work varchar(40))";
String insert = "insert into users(id,name,sex,age,wage,work)\r\n"
+ "Values(1001,'丁卫国','男',25,2500,'助工'),\r\n"
+ "(1002,'张小华','女',30,1000,'工程师'),\r\n"
+ "(1003,'宁涛','男',50,600,'高工')";
//创建表
stmt.executeLargeUpdate(create);
//插入表
stmt.executeLargeUpdate(insert);
//修改表
String update = "update users set wage = wage + wage * 0.1 where age < 45";
stmt.executeUpdate(update);
String update1 =
"update users set wage = wage + wage * 0.15 where age > 45";
stmt.executeUpdate(update1);
}catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.回收数据库资源if(stmt!=null) {
try {
stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null) {
try {
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
conn=null;
}
} } private static Object age(int i) {
// TODO Auto-generated method stub
return null;
}}
(4)删除记录,并排序:
package Test4;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
//202056228杨丽花
/*
* 首先建立一个数据库,通过编程实现:
1. 建立一个表,表名为职工,结构为:编号,姓名、性别、年龄、工资、职称;
编号 姓名 性别 年龄 工资 职称
1001 丁卫国 男 25 2500 助工
1002 张小华 女 30 1000 工程师
1003 宁涛男 50 600高工2.向职工表中插入三条记录,如上表所示;并查询所有职工信息,输出到控制台。
3.将年龄在45岁以上的员工工资增加15%,其他人增加10%,存入原表中,并查询更新后的所有员工信息,输出到控制台。
4.删除工资超过1500的员工记录,并将每条记录按照工资由大到小的顺序显示输出到控制台。
*/public class Test4_444 { public static void main(String[] args) {
// TODO Auto-generated method stub
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try {
//1.注册数据库的驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//版本为6.02之后
//2.通过DriverManager获得数据库的连接
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
conn =DriverManager.getConnection(url,username,password);
//3.通过 Connection对象获取Statement对象
stmt=conn.createStatement();
//4.使用Statement执行SQL语句
String select="select *from users";
String create="create table users("
+ "id int(40),"
+ "name varchar(40), "
+ "sex varchar(40), "
+ "age varchar(40), "
+ "wage varchar(40), "
+ "work varchar(40))";
String insert = "insert into users(id,name,sex,age,wage,work)\r\n"
+ "Values(1001,'丁卫国','男',25,2500,'助工'),\r\n"
+ "(1002,'张小华','女',30,1000,'工程师'),\r\n"
+ "(1003,'宁涛','男',50,600,'高工')";
String delete = "delete FROM users where wage > 1500";
String select1 = "select * from users ORDER BY wage ASC";
stmt.executeUpdate(delete);
rs=stmt.executeQuery(select1);
//5.操作ResultSet结果集
System.out.println("id|name|sex|"+
"age|wage|work|");
while(rs.next()) {
int id=rs.getInt("id");
//通过列名获得指定字段的值-编号
String name=rs.getString("name");
//姓名
String sex=rs.getString("sex");
//性别
double wage=rs.getDouble("wage");
//工资
int age=rs.getInt("age");
//年龄
String work=rs.getString("work");
//职称
System.out.println(id+"|"+name+"|"+sex+"|"
+age+"|"+wage+"|"+work+"|");
}
}catch(ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.回收数据库资源if(stmt!=null) {
try {
stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null) {
try {
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
conn=null;
}
} } private static Object age(int i) {
// TODO Auto-generated method stub
return null;
}}
三、运行结果: (1)创建数据库:
文章图片
文章图片
(2)创建表:
文章图片
文章图片
(3)插入数据表:
文章图片
控制台:
文章图片
【数据库|Java 实验四 JDBC数据库编程 My SQL】(4)根据条件,修改工资:
文章图片
(5)删除工资超过1500的记录:
文章图片
按工资从大到小排序:
文章图片
推荐阅读
- mongodb|SPL---强大的集算器
- mysql|MySQL安装教程
- 重学|Spring 框架中的 @Enable* 注解是怎样实现的()
- 重学|Spring 注解编程模型
- 【任务调度框架Quartz】|任务调度框架Quartz(五)Quartz任务调度框架之最全Quartz系统参数配置详解
- spring|springboot增删改查案例
- Flink 基础知识 - 时间、窗口、水位线
- 「推荐收藏!」MySQL技术之旅该换换你的数据库版本了,让我们一同迎接8.0的到来哦!
- java|Java 定义线段Line类,用两个端点坐标表示线段位置,定义计算线段长度的方法,以及线段平移的方法