1、创建表并插入数据:
字段名 数据类型 主键 外键 非空 唯一 自增
id INT 是 否 是 是 否
name VARCHAR(50) 否 否 是 否 否
glass VARCHAR(50) 否 否 是 否 否sch 表内容
id name glass
1 xiaommg glass 1
2 xiaojun glass 2
创建 sch 表,并添加内容:
use myemployees;
create table sch (
-> id int primary key auto_increment,
-> name varchar(50) not null,
-> glass varchar(50) not null
-> );
insert into sch (name,glass) values ('xiaommg','glass 1');
insert into sch (name,glass) values ('xiaojun','glass 2');
2、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch();
create function count_sch()
-> returns int
-> begin
-> declare i int default 0;
-> select count(*) into i from sch;
-> return i;
-> end $
select count_sch();
注意:如有以下报错,则使用下面命令处理。(在创建自定义函数时遇到错误 )
set global log_bin_trust_function_creators = 1;
3、创建一个存储过程avg_sal,有3个参数,分别是deptno,job,接收平均工资(out);功能查询employees表的平均薪资满足条件department_id为deptno,job_id为job的平均工资。
create procedure avg_sal(in deptno int,in job varchar(50),out avg_salary decimal(10,2)) begin select avg(salary) into avg_salary from employees where department_id = deptno and job_id = job;
-> end $
call avg_sal(20,'文员',@avg_salary);
-> $
select @avg_salary
-> $