数据库练习题
1、MySQL数据库测试题
人力资源管理系统(HR)
为了提高人资管理效率,预开发一套人力资源管理系统(HR),下面是对部门,员工,工资等级信息进行管理。数据库所支持的功能和存储的信息需至少包含如下几个方面:
部门信息表:DEPT
员工信息表:EMP
工资等级表:SALGRADE
请编写SQL语句完成以下的功能:
1) 创建数据库名称:emp_Sys。
创建数据表操作
要求:
1. 使用建库语句创建数据库
2.使用建表语句完成上面三张表的创建
3.请参考数据表的要求设置主外键及字段类型要求 (缺少主键扣分,外键扣分)
每个表缺少主键,外键都要扣分
4.需要提交建库,建表语句的代码,否则此项不得分
2) 插入数据
数据要求如下:
1. 部门表DEPT,数据如下:
2.员工表EMP,数据如下:
3. 工资等级表SALGRADE,数据如下:
要求如下:
1.使用SQL语句完成三个表中数据插入,插入的数据项,请参阅题干素材
2.插入数据要求与提供的数据完全一致
3.上传代码时,要求上传所编写的SQL语句,否则不得分
3)查询雇员姓名,根据其服务年限,将最老的雇员排在最前面;
参考查询结果如下图所示:
4) 查询出在(任何年份的)2月受聘的所有雇员;
要求采用两种方式实现,每种实现方式【日期函数,字符串函数】得分值一半
参考查询结果如下图所示:
5)查询出所有的普通员工;
提示:在EMP表中mgr字段的取值代表上级领导的员工编号
参考查询结果如下图所示:
6)求出每个部门的平均工资,及它的等级;
参考查询结果如下图所示:
7)求平均薪水最高的部门的部门编号;
参考查询结果如下图所示:
8)给任职日期超过35年的人加薪10%;
要求:
1. 使用jdbc.properties文件保存数据库连接的基本信息.
2. 使用c3p0或druid数据库连接池来获取Connection对象
3. 使用JDBC来实现员工加薪10%的操作,编写正确的SQL语句
-
使用PreparedStatement对象执行SQL语句
-
关闭数据库资源
-
包名,类名及代码要符合Java命名规范
7.上传整个java工程
-
总体要求:
1.上述操作直接使用MySQL工具编写SQL语句并测试成功
2.提交代码时,必须包括每个题目的SQL语句
3.没有SQL语句,直接得0分
插入数据
=插入数据===
部门表DEPT:
10, ‘ACCOUNTING’, ‘NEW YORK’
20, ‘RESEARCH’, ‘DALLAS’
30, ‘SALES’, ‘CHICAGO’
40, ‘OPERATIONS’, ‘BOSTON’
员工表EMP:
7369, ‘SMITH’, ‘CLERK’, 7902, ‘1980-12-17’, 1100, null, 20
7499, ‘ALLEN’, ‘SALESMAN’, 7698,‘1981-2-20’, 1760, 300, 30
7521, ‘WARD’, ‘SALESMAN’, 7698, ‘1981-02-22’, 1375, 500, 30
7566, ‘JONES’, ‘MANAGER’, 7839, ‘1981-04-02’, 3272, null, 20
7654, ‘MARTIN’, ‘SALESMAN’, 7698, ‘1981-09-28’, 1375, 1400, 30
7698, ‘BLAKE’, ‘MANAGER’, 7839, ‘1981-05-01’, 3135, null, 30
7782, ‘CLARK’, ‘MANAGER’, 7839, ‘1981-06-09’, 2695, null, 10
7788, ‘SCOTT’, ‘ANALYST’, 7566, ‘1987-04-19’, 3000, null, 20
7839, ‘KING’, ‘PRESIDENT’, null, ‘1981-11-17’, 5500, null, 10
7844, ‘TURNER’, ‘SALESMAN’, 7698, ‘1981-09-08’, 1650, 0, 30
7876, ‘ADAMS’, ‘CLERK’, 7788, ‘1987-05-23’, 1100, null, 20
7900, ‘JAMES’, ‘CLERK’, 7698, ‘1981-12-03’, 1045, null, 30
7902, ‘FORD’, ‘ANALYST’, 7566, ‘1981-12-03’, 3300, null, 20
7934, ‘MILLER’, ‘CLERK’, 7782, ‘1982-01-23’, 1430, null, 10
工资等级表SALGRADE:
1, 700, 1200
2, 1201, 1400
3, 1401, 2000
4, 2001, 3000
5, 3001, 9999