MySQL1.根据定义的分数score变量,判定当前分数对应的分数等级。 score >= 85分,等级为优秀。 score >= 60分 且 score < 85分,等级为及格。 score < 60分,等级为不及格。 2.根据传入参数score,判定当前分数对应的分数等级,并返回。 score >= 85分,等级为优秀。 score >= 60分 且 score < 85分,等级为及格。 score < 60分,等级为不及格。 3.通过触发器记录 tb_user 表的数据变更日志,将变更日志插入到日志表user_logs中, 包含增加,修改 , 删除 ; 表结构准备: -- 准备工作 : 日志表 user_logs
时间: 2024-02-17 17:00:08 浏览: 65
MySQL学习笔记-基础到进阶
好的,您的问题是关于MySQL语句的。第一个问题是关于分数等级的判定,以下是MySQL语句示例:
```
SELECT
CASE
WHEN score >= 85 THEN '优秀'
WHEN score >= 60 AND score < 85 THEN '及格'
ELSE '不及格'
END AS grade
FROM
your_table;
```
第二个问题是根据传入的参数score返回对应的分数等级,以下是MySQL语句示例:
```
CREATE FUNCTION get_grade(score INT)
RETURNS VARCHAR(10)
BEGIN
DECLARE grade VARCHAR(10);
IF score >= 85 THEN
SET grade = '优秀';
ELSEIF score >= 60 AND score < 85 THEN
SET grade = '及格';
ELSE
SET grade = '不及格';
END IF;
RETURN grade;
END;
```
第三个问题是通过触发器记录表的数据变更日志,以下是MySQL语句示例:
```
CREATE TRIGGER user_logs_trigger
AFTER INSERT, UPDATE, DELETE ON tb_user
FOR EACH ROW
BEGIN
DECLARE action VARCHAR(10);
IF NEW.id IS NOT NULL AND OLD.id IS NULL THEN
SET action = '新增';
ELSEIF NEW.id IS NOT NULL AND OLD.id IS NOT NULL THEN
SET action = '修改';
ELSEIF NEW.id IS NULL AND OLD.id IS NOT NULL THEN
SET action = '删除';
END IF;
INSERT INTO user_logs (user_id, action, time) VALUES (NEW.id, action, NOW());
END;
```
阅读全文