JavaPYB - 第二十天、第二十一天 - JavaWeb - Part 2: MySQL - 增、删、查、改、练习

文章目录


描述

----------------------------------
一、建库、建表,插入记录、修改记录、删除记录
----------------------------------
01、删除mydb2库(如果存在)

02、再次创建mydb2库,指定编码为utf8,并选择mydb2库

03、在mydb2库中,创建员工(emp)表,并添加如下列:
	编号(整型、主键、自增)
	姓名、性别(字符串类型)
	出生年月(日期类型)
	职位(字符串类型)
	薪资、奖金(小数类型)

04、往员工(emp)表中插入3条记录
	
05、将员工的薪资在原有基础上增加1500(mysql不支持+=)
	
06、删除emp表中所有员工的记录

----------------------------------
二、单表查询
----------------------------------
!!下列练习使用db10库中数据,选择db10库,如果没有先创建(参考sql脚本)
07、列出emp表中的所有员工,显示所有列
	
08、列出emp表中的所有的男员工,显示姓名、性别

09、列出emp表中的'培优部'的所有员工,显示部门名称, 员工姓名
	
10、列出emp表中员工的奖金(bonus),仅显示奖金,并剔除重复的值
	
11、列出emp表中所有奖金高于500的员工,显示姓名、奖金、职位
	
12、列出emp表中薪资在1000~2000之间的所有员工,显示姓名,薪资

	/* between...and... 在...之间*/

13、列出emp表中奖金为300500700的所有员工,显示姓名、奖金

14、问答题:什么是 数据库服务器、数据库、表、表记录?
	
15、问答题:charvarchar的区别?
	
16、问答题:什么是主键约束(特点)、什么是唯一约束、什么是非空约束?

17、列出emp表中姓名以'王'开头的员工,显示员工姓名
	
18、列出emp表中姓名以'涛'结尾的员工,显示员工姓名
	
19、统计emp表中的所有的男员工的人数。
	
20、统计每个职位的人数, 显示职位和对应人数
	
21、统计emp表中所有员工的总薪资(包含奖金)
	
22、统计emp表中所有员工奖金的平均值

!!下列练习使用db10库中数据,选择db10库,如果没有先创建(参考sql脚本)
23、列出所有员工的入职日期,由新到旧排列员工信息,显示姓名、总薪资

24、若把hdate看作员工的出生日期,查询下个月过生日的所有员工,显示员工姓名和出生日期

25、求1987年入职的员工信息。

26、求emp表中薪资最高的前3名员工的信息,显示姓名和薪资

----------------------------------
三、子查询、多表查询
----------------------------------
27(子查询)列出emp表中高于平均工资的所有员工,显示姓名、薪资

28(子查询)查询emp表中比'齐雷'薪资高的所有员工,显示姓名、薪资

29(子查询)查询emp表中和'齐雷'从事相同职位的所有员工,显示姓名、职位

30(子查询)查询emp表中'陈子枢'所有下属员工,假设不知道陈子枢的编号(1011)

31(左外连接)列出所有员工和员工对应的部门,如果员工没有对应的部门, 显示为null

32(关联查询)列出在'就业部'任职的员工,假定不知道'就业部'的部门编号,显示部门名称和员工姓名

----------------------------------------------

33(自连接查询)列出上级及上级对应的下属员工,显示上级编号(id),上级姓名、员工姓名、上级编号(topid)

34、(分组、聚合函数)列出最低薪资大于1500的各种职位及从事此职位的员工人数。
	-- 先查询出各种职位的最低薪资
	-- 提示:对分组后的记录筛选过滤请使用having替换where,并且having书写在最后
	-- 再查询出最低薪资>1500的职位
	-- 最后查询出每个职位对应的员工人数


结果

零、登录mysql服务器,定义字符类型

mysql -uroot -proot --default-character-set=gbk

在这里插入图片描述

一、建库、建表,插入记录、修改记录、删除记录

01、删除mydb2库 (如果存在)

CREATE DATABASE  IF NOT EXISTS mydb2 CHARSET utf8 ;
SHOW DATABASES ;
DROP DATABASE  IF  EXISTS mydb2 ;  /* 练习 */
SHOW DATABASES ;

在这里插入图片描述


02、再次创建mydb2库,指定编码为utf8,并选择mydb2库

CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8; /* 答案 */
USE mydb2 ;  /* 答案 */
SELECT database();

在这里插入图片描述

03、在mydb2库中,创建员工(emp)表,并添加如下列:

编号(整型、主键、自增)
姓名、性别(字符串类型)
出生年月(日期类型)
职位(字符串类型)
薪资、奖金(小数类型)
CREATE DATABASE IF NOT EXISTS mydb2 CHARSET utf8; 
USE mydb2 ;  
SELECT database();
SHOW TABLES;
CREATE TABLE emp ( /* 答案 */
	id INT PRIMARY KEY AUTO_INCREMENT,
	name varchar(50),
	gender char(1),
	birthday DATE,
	job varchar(50),
	salary DOUBLE,
	bonus DOUBLE
);
SHOW CREATE TABLE emp;

在这里插入图片描述

04、往员工(emp)表中插入3条记录

drop table if exists emp; 
CREATE TABLE emp ( 
	id INT PRIMARY KEY AUTO_INCREMENT,
	name varchar(50),
	gender char(1),
	birthday DATE
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: JavaWeb连接MySQL操作可以通过以下步骤实现: 1. 导入MySQL的JDBC驱动程序。 2. 建立与MySQL数据库的连接。 3. 创建Statement对象,用于执行SQL语句。 4. 编写SQL语句,包括加、除、修询操作。 5. 执行SQL语句,获取结果集。 6. 处理结果集,进行数据的操作。 例如,可以使用以下代码实现向MySQL数据库中的表中插入数据: ``` // 导入MySQL的JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立与MySQL数据库的连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); // 创建Statement对象,用于执行SQL语句 Statement stmt = conn.createStatement(); // 编写SQL语句,包括加操作 String sql = "INSERT INTO user(name, age, sex) VALUES('张三', 20, '男')"; // 执行SQL语句 int result = stmt.executeUpdate(sql); // 处理结果集,进行数据的操作 if (result > ) { System.out.println("数据插入成功!"); } else { System.out.println("数据插入失败!"); } // 关闭数据库连接 stmt.close(); conn.close(); ``` 同样的,可以使用类似的代码实现除、修询操作。 ### 回答2: JavaWeb技术连接MySQL数据库进行操作是Web开发中不可避免的一部分,下文介绍如何在JavaWeb中利用JDBC API实现对MySQL数据库的操作。 JDBC(Java Database Connectivity)是Java中用于操作关系型数据库的API,通过JDBC可以进行对于数据库的多种操作,包括等。下面我们将分别介绍JDBC实现MySQL。 1. 建立数据库连接 使用JDBC连接MySQL数据库,必须先引入MySQL连接驱动jar包,并从DriverManager中获取Connection对象,以下是该过程的实现代码: // 引入MySQL驱动包 Class.forName("com.mysql.jdbc.Driver"); // 建立连接 Connection conn = DriverManager.getConnection(url, username, password); 此处的url、username和password是MySQL数据库配置信息,通过DriversManager.getConnection()方法获取到的Connection对象可用于后续的操作。 2. 插入数据 通过使用PreparedStatement对象设置插入的SQL语句和参数,可以向MySQL数据库中插入数据: // 定义插入的数据 String name = "Tom"; String age = "20"; // 定义SQL语句 String sql = "insert into student(name, age) values(?, ?)"; PreparedStatement pstmt; pstmt = conn.prepareStatement(sql); // 设置参数 pstmt.setString(1, name); pstmt.setString(2, age); // 执行SQL语句并提交 pstmt.executeUpdate(); 上述代码中,使用PreparedStatement.setParameter()方法设置插入的参数,PreparedStatement.executeUpdate()方法执行插入操作。 3. 除数据 通过使用PreparedStatement对象,可以执行SQL语句中的除操作: // 定义被除数据的标识符 String id = “1”; // 定义SQL语句 String sql = "delete from student where id=?"; PreparedStatement pstmt; pstmt = conn.prepareStatement(sql); // 设置参数 pstmt.setString(1, id); // 执行SQL语句并提交 pstmt.executeUpdate(); 上述代码中,使用PreparedStatement.setParameter()方法设置除的参数,PreparedStatement.executeUpdate()方法执行除操作。 4. 更新数据 通过PreparedStatement对象,可以执行SQL语句中的更新操作: // 定义被更新数据的标识符 String id = “1”; String age = "30"; // 定义SQL语句 String sql = "update student set age=? where id=?"; PreparedStatement pstmt; pstmt = conn.prepareStatement(sql); // 设置参数 pstmt.setString(1, age); pstmt.setString(2, id); // 执行SQL语句并提交 pstmt.executeUpdate(); 上述代码中,使用PreparedStatement.setParameter()方法设置更新的参数,PreparedStatement.executeUpdate()方法执行更新操作。 5. 询数据 通过使用Statement或PreparedStatement对象,可以执行SQL语句中的询操作,询数据的结果保存在ResultSet对象中: // 询全部学生的信息 String sql = "select * from student"; Statement stmt = conn.createStatement(); // 执行询SQL语句 ResultSet rs = stmt.executeQuery(sql); // 读取询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getString("age"); System.out.println("id:" + id + " name:" + name + " age:" + age); } 上述代码中,使用Statement.executeQuery()方法或PreparedStatement.executeQuery()方法执行询SQL语句,询结果通过ResultSet.next()方法依次读取。 综上所述,利用JDBC实现JavaWebMySQL数据库的JavaWeb开发中十分常见的操作,理解以上实现方式有助于JavaWeb开发者更加熟练地使用JDBCAPI进行数据库操作。 ### 回答3: JavaWeb连接MySQLJavaWeb开发中常见的一种场景,涉及到的操作。数据库是数据存储的重要枢纽,而JavaWeb应用程序的主要目标之一就是与数据库交互,实现对数据库数据的。 对于JavaWeb应用程序的开发,常见的数据库访问方式有两种:JDBC和ORM。在我们学习和使用JavaWeb连接MySQL的时候,JDBC会是重头戏。 JDBC(Java DataBase Connectivity)是Java语言访问数据库的标准规范, JDBC接口屏蔽了不同数据库之间的差异,提供了一种标准的API,由数据库提供商实现各自的驱动程序来实现不同数据库之间的连接和操作。基本上,所有Java Web中连接数据库使用的都是JDBC规范接口,因为这种接口更加通用,可以适配多个不同的数据库。 JavaWeb连接MySQL实现的基础,就是通过JDBC的API建立连接,这些API包括: 1. DriverManger:驱动管理类,用于管理所有驱动程序的已注册的实例。 2. Connection:通过这个类我们可以获取数据库连接,执行SQL语句,对数据库进行操作。 3. Statement/PreparedStatement:用于执行静态SQL语句和动态SQL语句。 4. ResultSet:用于存储执行操作后获得的结果集。 在使用JDBC连接MySQL时,首先要进行如下步骤: 1. 加载驱动程序 Class.forName(driverName); 2. 建立连接 Connection conn = DriverManager.getConnection(url, user, password); 3. 执行SQL语句 Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(sql); 4. 处理结果 while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); } 在JavaWeb连接MySQL的操作中,对于,我们常用的操作语句有: 1. 插入数据 String insertSql = "INSERT INTO `user` (`id`, `name`, `age`, `email`) VALUES (1, 'Tom', 20, '[email protected]')"; statement.executeUpdate(insertSql); 2. 除数据 String deleteSql = "DELETE FROM `user` WHERE `id`=1"; statement.executeUpdate(deleteSql); 3. 更新数据 String updateSql = "UPDATE `user` SET `name`='Jerry',`age`=30 WHERE `id`=1"; statement.executeUpdate(updateSql); 4. 询数据 String selectSql = "SELECT * FROM `user` WHERE `age`>20"; ResultSet rs = statement.executeQuery(selectSql); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); } 这就是JavaWeb连接MySQL并实现的基础操作例子。在实际开发中,我们还可以通过使用框架简化操作,比如MyBatis、Hibernate等等。但是不论我们使用何种方式来操作数据库,理解JavaWeb连接MySQL的API和语句,对于我们来说都是非常重要的一步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值