当前位置:首页 > 编程笔记 > 正文
已解决

MySQL——练习

来自网友在路上 152852提问 提问时间:2023-10-22 21:09:40阅读次数: 52

最佳答案 问答题库528位专家为你答疑解惑

MySQL

  • 一、练习要求
  • 二、练习过程

一、练习要求

创建表并插入数据:

字段名数据类型主键外键非空唯一自增idINT是否是是否nameVARCHAR(50)否否是否否glassVARCHAR(50)否否是否否
sch 表内容
id name glass
1 xiaommg glass 1
2 xiaojun glass 2
  • 1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch()
  • 2、创建一个存储过程avg_sal,有3个参数,分别是deptno,job,接收平均工资(out);

功能查询employees表的平均薪资满足条件department_id为deptno,job_id为job的平均工资。

二、练习过程

  • 1、首先这里我们先需要创建一个表来存储数据,并添加相应的存储函数和存储过程。在这里,我将使用MySQL语法为您提供相应的SQL命令。
CREATE TABLE sch (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) UNIQUE NOT NULL,
glass VARCHAR(50) NOT NULL
);

在这里插入图片描述

  • 2、插入数据:
INSERT INTO sch (id, name, glass) VALUES ('1','xiaommg', 'glass 1');
INSERT INTO sch (id, name, glass) VALUES ('2','xiaojun', 'glass 2');

在这里插入图片描述
这将创建一个名为 sch 的表,并插入两行数据。

  • 3、创建一个可以统计表格内记录条数的存储函数 count_sch():
\d @
CREATE FUNCTION count_sch()
RETURNS INT
BEGIN
DECLARE count INT DEFAULT 0;
SELECT COUNT(*) INTO count FROM sch;
RETURN count;
END@

在这里插入图片描述
这个存储函数 count_sch() 会返回表格内记录的条数。

select count_sch()@

在这里插入图片描述

  • 4、创建一个存储过程 avg_sal:
\d //
CREATE PROCEDURE avg_sal(IN deptno INT, IN job VARCHAR(50), OUT avg_salary DOUBLE)
BEGIN
SELECT AVG(salary) INTO avg_salary
FROM employees
WHERE department_id = deptno AND job_id = job;
END//

在这里插入图片描述

这个存储过程 avg_sal 接收三个参数:deptno,job,和 avg_salary(输出参数)。它会查询名为 employees 的表,根据给定的 department_id 和 job_id 来计算平均薪资,并将结果存储在 avg_salary 输出参数中。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"MySQL——练习":http://eshow365.cn/6-21882-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!