數據庫練習題
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