第六次作业

一、视图作业

复制代码
1、CREATE VIEW v_emp_dept_id__1
	AS
	SELECT emp_name,address FROM emp;
2、CREATE VIEW v_emp_dept
	AS
	SELECT emp_name,address,dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
	AND dept_name='销售部';
3、CREATE VIEW v_dept_emp_count(dept_name,emp_count,avg_salay)
	AS
	SELECT COUNT(emp_id),AVG(salary),dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
	GROUP BY dept_name;
4、ALTER VIEW v_emp_dept
	AS 
	SELECT emp_name,address,salary,dept_name FROM emp e,dept d
	WHERE e.dept_id=d.dept_id
5、SHOW FULL TABLES;
   DESC v_emp_dept_id__1;
   DESC v_emp_dept;
   DESC v_dept_emp_count;
   SHOW CREATE VIEW v_emp_dept_id__1;
   SHOW CREATE VIEW v_emp_dept;
   SHOW CREATE VIEW v_dept_emp_count;
6、DROP VIEW v_emp_dept_id__1,v_emp_dept,v_dept_emp_count;

二、存储过程作业

复制代码
1、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`s1`()
    BEGIN
	SELECT SUM(salary) FROM emp;
    END$$
DELIMITER ;
2、call s1();
3、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`s2`(IN e_name CHAR(20))
    BEGIN
	SELECT address FROM emp WHERE emp_name=e_name;
    END$$
DELIMITER ;
4、CALL s2('刘云飞');
5、DELIMITER $$
CREATE
    PROCEDURE `nmx`.`avg_sai`(IN d INT,IN g CHAR(2),OUT out_salary INT )
    BEGIN
	SELECT AVG(salary) INTO out_salary FROM emp WHERE dept_id=d AND gender=g;
    END$$
DELIMITER ;
6、CALL avg_sai(1,'男',@out_salary);
   SELECT @out_salary;
7、DROP PROCEDURE `nmx`.`s1`;
  DROP PROCEDURE `nmx`.`s2`;
  DROP PROCEDURE `nmx`.`avg_sai`;
相关推荐
Xy910几秒前
App Trace技术解析:传参安装、一键拉起与快速安装
数据库·程序员
朝九晚五ฺ5 分钟前
【MySQL基础】MySQL表操作全面指南:从创建到管理的深度解析
数据库·sql
AIGC_北苏31 分钟前
Ubuntu 安装 Mysql 数据库
数据库·mysql·ubuntu
15942315631 小时前
QT使用WxSQLite3打开加密数据库并查询
数据库·qt·sqlite
程序员阿超的博客2 小时前
【数据篇】持久化核心:整合 JPA/MyBatis 实现优雅的数据库操作
数据库·mybatis
一叶知秋哈3 小时前
Canal1.1.5监听Mysql数据变动发送消息给Rabbit MQ
mysql·rabbitmq
struggle20256 小时前
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
数据库·typescript·neo4j
伤不起bb8 小时前
Redis 哨兵模式
数据库·redis·缓存
卑微的Coder8 小时前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis