创建表并插入数据:
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 自增 |
|---|---|---|---|---|---|---|
| id | INT | 是 | 否 | 是 | 是 | 否 |
| name | VARCHAR(50) | 否 | 否 | 是 | 否 | 否 |
| glass | VARCHAR(50) | 否 | 否 | 是 | 否 | 否 |
sch 表内容
id name glass
1 xiaommg glass 1
2 xiaojun glass 2
功能查询employees表的平均薪资满足条件department_id为deptno,job_id为job的平均工资。
CREATE TABLE sch (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) UNIQUE NOT NULL,
glass VARCHAR(50) NOT NULL
);

INSERT INTO sch (id, name, glass) VALUES ('1','xiaommg', 'glass 1');
INSERT INTO sch (id, name, glass) VALUES ('2','xiaojun', 'glass 2');

这将创建一个名为 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()@

\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 输出参数中。