MySQL练习题15

MySQL练习题15_存储过程

欢迎扫码关注微信公众号 “野心与家”

1.创建teacher表,其字段如下表1,向表中插入图2中的数据,完成下列各题
MySQL练习题15_其他_02

mysql> create table teacher(
    -> id int(4) primary key not null unique auto_increment,
    -> num int(10) unique not null,
    -> name varchar(20) not null,
    -> sex varchar(4) not null,
    -> birthday datetime,
    -> address varchar(50)
    -> );
mysql> insert into teacher(num,name,sex,birthday,address) values
    -> (1001,'张三','男','1984-11-08','北京市昌平区'),
    -> (1002,'李四','女','1970-01-21','北京市海淀区'),
    -> (1003,'王五','男','1976-10-30','北京市昌平区'),
    -> (1004,'赵六','男','1980-06-05','北京市顺义区');

(1)创建存储过程proc1完成查询teacher表中1975年-1985年之间出生的教师。

mysq1> delimiter //
mysq1> create procedure proc1 ()
begin
select name from teacher where birthday between (' 1975-01-01') and (' 1985-12 -31') ;
end //
Query OK, 0 rows affected (0. 00 sec)

(2)调用存储过程proc1,删除存储过程。

mysql> call proc1();
name
+------+
张三
+------+
王五
+------+
赵六
+------+
3 rows in set (O. 00 sec)
Query OK,0 rows affected (O. 01 sec)

mysq1> drop procedure proc1;
Query OK, 0 rows affected (0. 00 sec)

(3)创建存储过程proc2完成按地区对教师进行分类查询。

mysq1> delimiter //
mysq|> create procedure proc2 ()
	-> begin
	-> select name, address from teacher group by address ;
	-> end //
Query 0K,0 rows affected (O. 00 sec)

(4)调用存储过程proc2,删除存储过程。

mysql> delimiter ; 
mysq|> call proc2() ;
+----+--------+
name |address
+----+--------+
张三 |北京市昌平区
+----+--------+
李四 |北京市海淀区
+----+--------+
赵六 |北京市顺义区
+----+--------+
3rowsinset(0.01 sec)
Query OK, 0 rows affected (0.01 sec)
mysq|> drop procedure proc2;
Query 0K, 0 rows affected (0. 00 sec)