在計算機科學與技術中,數據存儲是一個重要的領域。而MySQL作為一種關系型數據庫管理系統,在工業界和學術界中都得到了廣泛應用。本文通過一個MySQL員工薪資管理課設,介紹如何利用MySQL來管理和處理數據。
在此課設中,我們的需求是創建一個數據庫,用于存儲公司員工的信息和薪資數據。我們需要在數據庫中創建兩張表,一張表用于存儲員工的基本信息,包括員工姓名、員工編號、崗位、入職日期等;另一張表用于記錄員工的薪資信息,包括員工編號、發薪日期、薪資、獎金等。
CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `position` varchar(20) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `salary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `employee_id` int(11) NOT NULL, `pay_date` date NOT NULL, `salary` decimal(10,2) NOT NULL, `bonus` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`id`), KEY `employee_id` (`employee_id`), CONSTRAINT `salary_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `employee` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在創建完數據庫和表格后,我們需要添加員工數據和薪資數據。可以通過“INSERT INTO”命令將數據添加到表格中:
INSERT INTO `employee`(`name`,`position`,`hire_date`) VALUES('張三','前端工程師','2020-01-01'); INSERT INTO `employee`(`name`,`position`,`hire_date`) VALUES('李四','Java工程師','2019-05-01'); INSERT INTO `salary`(`employee_id`,`pay_date`,`salary`,`bonus`) VALUES('1','2020-01-15','8000.00','1000.00'); INSERT INTO `salary`(`employee_id`,`pay_date`,`salary`,`bonus`) VALUES('2','2020-01-15','10000.00','2000.00');
當我們需要查詢員工信息和薪資信息時,可以使用“SELECT”命令。例如,我們想查詢員工姓名為“張三”的薪資信息,可以使用以下命令:
SELECT `salary`.`pay_date`, `salary`.`salary`, `salary`.`bonus` FROM `salary`, `employee` WHERE `salary`.`employee_id` = `employee`.`id` AND `employee`.`name` = '張三';
在MySQL中,我們還可以使用聚合函數如SUM、AVG、MAX、MIN等來統計薪資信息。例如,我們可以使用以下命令查詢所有員工的平均薪資:
SELECT AVG(`salary`) FROM `salary`;
綜上所述,MySQL作為一種強大的數據庫管理系統,對于員工薪資管理這樣的數據處理任務非常適用。通過使用MySQL,我們可以輕松地創建和管理表格,添加和查詢數據,同時還可以使用MySQL的高級功能進行數據分析和統計。