创建表并插入数据
sch表结构
字段名 | 数据类型 | 主键 | 外键 | 非空 | 唯一 | 自增 |
---|---|---|---|---|---|---|
id | int | 是 | 否 | 是 | 是 | 否 |
name | varchar(50) | 否 | 否 | 是 | 否 | 否 |
glass | varchar(50) | 否 | 否 | 是 | 否 | 否 |
sch表内容
id | name | glass |
---|---|---|
1 | xiaoming | glass 1 |
2 | xiaojun | glass 2 |
创建sch表
create table sch(
-> id int primary key auto_increment,
-> name varchar(50) not null,
-> glass varchar(50) not null);
向sch表添加数据
insert into sch values
-> (1,'xiaoming','glass 1'),
-> (2,'xiaojun','glass 2');
1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch()
delimiter $$
create function count_sch()
-> returns int
-> begin
-> declare num int default 0;
-> select count(1) into num from sch;
-> return num;
-> end $$
delimiter ;
调用:select count_sch();
调用存储函数使用select调用
2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资,功能查询emp表dept为30,job为销售员的平均工资。
delimiter $$
create procedure avg_sai(in p1 int,in p2 varchar(50),out avg_sal float)
-> begin
-> select avg(sai) into avg_sal from day3.emp
-> where deptno=p1 and job=p2;
-> end $$
delimiter ;
call avg_sai(30,'销售员',@a); --调用存储过程,将输出的平均工资赋给@a
select @a;
注意:call是调用存储过程的方法,与调用存储函数不同