这姐姐呀的《数据库安全技术》实验报告-3_SQL程序编写初步

以下均要求以SQL语句实现,解答写在每个部分的【答题】下面,

【实验目的与要求】

 1.掌握SQL程序设计用户变量定义与使用

2.掌握SQL程序控制初步

、在sakila数据库中film,film_categroy,category,利用用户变量步实现查询影片title为ACADEMY DINOSAUR影片分类category表中的name。(sakila数据库需提前导入,这里就不做相关步骤了)

【答题】

USE mysql
USE sakil
SET @fi=(SELECT film_id FROM film WHERE title='academy dinosaur'); 
SELECT @fi

SET @fi=(SELECT category_id FROM film_category WHERE film_id=@fi);
SELECT @fic

SET @cate=(SELECT NAME FROM category WHERE category_id=@fic);
SELECT @cate

创建查询@fi,查询academy dinosaur影片在film表中的位置

创建查询@fic,查询academy dinosaur影片在film_categroy表的位置

创建查询@cate,查询academy dinosaur影片在category表中的分类

查询@cate,输出结果

、在sakila数据库中查询category表,查询结果如下

【答题】

SELECT category_id,CASE NAME  
WHEN 'action' THEN '动作片'
WHEN 'animation' THEN '动画片'
WHEN 'children' THEN '儿童片'
ELSE '其他片'
END AS '电影类型'
FROM category

查询各种分类的数量

三、编写一个无参数存储过程,存储过程名称为up_jiecheng(),利用控制语句实现10的阶乘。即10!=10*9*…….1。当调用up_jiecheng()给出10的阶乘结果。

CREATE PROCEDURE up_jiecheng()
BEGIN
  DECLARE i INT DEFAULT 10;
  DECLARE result INT DEFAULT 1;
  WHILE i>=1 DO
    SET result=result*i;
    SET i=i-1;
  END WHILE;
 SELECT result;
END                                  #先运行一遍上面的
CALL up_jiecheng()                   #当上面的运行过一遍,才能运行这条语句

创建存储过程为up_jiecheng()

设置i的值,result的初始值,设置运算,输出

运行up_jiecheng()得到结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值