第1关:创建存储过程1

任务描述

本关任务:
1.新建一个没有参数的存储过程p1,显示product表中所有数据。
2.调用p1。

USE petstore;
create procedure p1()   #新建一个没有参数的存储过程
select * from product;
call p1();              #调用p1
########Begin#######
#######End######

####相关知识

为了完成本关任务,你需要掌握:

语法

语法:CREATE PROCEDURE语句
CREATE PROCEDURE 存储过程名 ([参数[,...]]) 存储过程体
存储过程可以有0到多个参数,参数格式如下:
[ IN | OUT | INOUT ] 参数名 类型
IN - 输入参数,输入参数使数据可以传递给一个存储过程。
OUT - 输出参数,返回一个结果作为存储过程的输出
INOUT - 输入/输出参数,既可以充当输入参数也可以充当输出参数。
存储过程也可以不加参数,但是名称后面的括号是不可省略的。
存储过程体:这是存储过程的主体部分,包含了在过程调用的时候必须执行的语句。
这个部分总是以BEGIN开始,以END结束。
但是,当存储过程体中只有一个SQL语句时可以省略BEGIN-END标志。

第2关:触发器

任务描述

本关任务:
1.创建一个表table1,其中只有一列a。在表上创建一个触发器,每次插入操作时,将用户变量str的值设为“TRIGGER IS WORKING”。
2.向table1中插入一行数据(如:让列a的值为10)。
3.查看str的值。

USE petstore;
create table table1(a integer);  #创建一个触发器,每次插入操作时
create trigger table1_insert after insert
on table1 fro each row
set @str='TRIGGER IS WORKING';
insert  into table1 values(10);   #插入一行数据
select @str;           #查看@str的值
########Begin#######
#######End######

第3关:存储过程

任务描述

本关任务:
1.新建一个带输入/输出参数的存储过程p3,输入商品名称,输出product表中这个商品名称对应的进价(unitcost)。

2.用“金鱼”为输入参数,定义用户变量@price作为p3的输出参数调用p3。
3.用select显示调用结果。

USE petstore;
delimiter $$           #结束符修改为其他字符
create procedure p3(in sp_name char(20),out price float)   #新建一个带输入/输出参数的存储过程
Begin
select unitcost into price from product where name=sp_name;
end $$
delimiter ;
call p3('金鱼',@price);              #调用p3
select @price;                      #查看调用结果
########Begin#######
#######End######

相关知识

为了完成本关任务,你需要掌握:

语法

语法:CREATE PROCEDURE语句
CREATE PROCEDURE 存储过程名 ([参数[,...]]) 存储过程体
存储过程可以有0到多个参数,参数格式如下:
[ IN | OUT | INOUT ] 参数名 类型
IN - 输入参数,输入参数使数据可以传递给一个存储过程。
OUT - 输出参数,返回一个结果作为存储过程的输出
INOUT - 输入/输出参数,既可以充当输入参数也可以充当输出参数。
存储过程也可以不加参数,但是名称后面的括号是不可省略的。
存储过程体:这是存储过程的主体部分,包含了在过程调用的时候必须执行的语句。
这个部分总是以BEGIN开始,以END结束。
但是,当存储过程体中只有一个SQL语句时可以省略BEGIN-END标志。

第4关:存储函数1

任务描述

本关任务:
1.新建一个没有参数的函数f1(),返回注册用户总数。
2.调用这个函数。

USE petstore;
delimiter $$           #结束符修改为其他字符
create function f1()    #新建一个没有参数的函数
returns int
Begin
return (select count(*) from account);
end $$
delimiter ;
select f1();                      #调用函数
########Begin#######
#######End######

相关知识

为了完成本关任务,你需要掌握:

语法

第5关:存储函数2

任务描述

本关任务:
1.编写带参数的函数f2(),返回account表中指定用户id的用户名。

2.调用这个函数,返回u0001号用户的用户名。

USE petstore;
delimiter $$           #结束符修改为其他字符
create function f2(id char(20))    #新建带参数的函数
returns char(20)
Begin
return (select fullname from account where userid=id);
end $$
delimiter ;
select f2('u0001');                      #调用函数
########Begin#######
#######End######

####相关知识

语法

第6关:流程控制与循环:求a的i次方

任务描述

本关任务:
1.编写一个带参数的存储过程p1,求a的i次方
2.调用p1,求8的5次方(用@ret存储运行结果)。

USE petstore;
delimiter $$           #结束符修改为其他字符
create procedure p1(in a int ,int i int,out ret int)   #新建一个带参数的存储过程
Begin
set ret=1;
while i>0 do
set ret=ret*a;
set i=i-1;
end while;
end $$
delimiter ;
call p3(8,5,@ret);              #调用p1
select @ret;                      #查看调用结果
########Begin#######
#######End######

或者

USE petstore;
delimiter $$           #结束符修改为其他字符
create procedure p1(in a int ,out ret int)   #新建一个带参数的存储过程
Begin
declare i int default 5;
set ret=1;
while i>0 do
set ret=ret*a;
set i=i-1;
end while;
end $$
delimiter ;
call p3(8,@ret);              #调用p1
select @ret;                      #查看调用结果
########Begin#######
#######End######

数据库应用(mysql)数据库编程相关推荐

  1. mysql connector c编程_MySQL数据库之MySQL Connector 编程

    本文主要向大家介绍了MySQL数据库之MySQL Connector 编程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. MySQL Connector 是MySQL数据库客户 ...

  2. mysql使用释放资源_数据库--释放mysql数据库资源

    数据库--释放mysql数据库资源 背景 nikeodong 之前做了项目的数据库主从,在全备的过程发现数据库是越来越大了:最后发现是资源不释放的问题. 目的 为了解决 mysql 资源不释放的问题. ...

  3. mysql数据库压缩备份_MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份)...

    本文主要向大家介绍了MySQL数据库之mysql数据库备份命令分享(mysql压缩数据库备份) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 备份MySQL数据库的命令 复制代 ...

  4. oracle数据库跟mysql的区别_关于Oracle数据库与MySQL数据库的几点区别

    Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容,接下来我们就开始介绍这部分内容,希望能够对您有所帮助. Oracle与MySQL的区别: 1.在Oracle中用select * ...

  5. abp更改为mysql_ABPZero系列教程之拼多多卖家工具 更改数据库为MySQL数据库

    本文主要向大家介绍了ABPZero系列教程之拼多多卖家工具 更改数据库为MySQL数据库 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. < 因为要部署项目到云服务器,不想 ...

  6. 数据库【MySQL数据库介绍】

    数据库[MySQL数据库介绍] 1.MySQL概要 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.MySQL 是一种关联数据库管理系统,关联 ...

  7. mysql数据库,mysql数据库监控介绍

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...

  8. access mysql 同步更新数据_[access 数据库同步]Access数据库到Mysql数据库实时更新

    项目目标: 首先是将Access数据库中的大量数据(已经存好的原有百万级数据)转存到mysql数据库中,然后,随着Access中数据的增加,要同步更新mysql数据库,更新周期自定. 思路:一开始的转 ...

  9. MySQL数据库配置data文件_MySQL数据库之MySQL数据库迁移data文件夹位置详细步骤

    本文主要向大家介绍了MySQL数据库之MySQL数据库迁移data文件夹位置详细步骤 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 由于yum安装mysql的时候,数据库的da ...

  10. mysql数据库搬家,MySQL数据库迁移上云-数据搬家不用愁

    MySQL数据库迁移上云 数据搬"家"不用愁 随着数字化时代的发展,越来越多的企业开始数字化转型.云上数据库能提升对数据库的使用及管理效率,给企业带来了很大经济效益.那么如何安全有 ...

最新文章

  1. hashcode、equals和==简单总结
  2. 微服务架构可能不适合所有企业
  3. Viterbi 算法无线通信信号处理Demo
  4. HTML5 canvas 初级入门教程【转】
  5. 备份MySQL数据库的方法
  6. 求复变函数的 Taylor 展式与 Laurent 展式[华中师范大学2010年复变函数复试试题]...
  7. 推荐几个图标显示控件
  8. linux以16进制查看文件
  9. ubuntu 16.04 usb转串口
  10. limux php启动_linux下nginx与php设置开机启动代码
  11. 关于 Angular 项目类型为 library 的工程使用 tsconfig.json 的问题
  12. mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...
  13. 正方体最快最简单画_素描新手入门第一幅画可不只是“正方体”
  14. 《记得我们有约》17集
  15. UVALive4983 UVa1593 POJ3959 Alignment of Code【字符串流+输入输出】
  16. 爬虫10-股票信息定向爬取
  17. 如何将access数据库导入到sql2005数据库中
  18. 微信公众平台客户端调试工具
  19. ibm语音识别输入系统
  20. 生产排程系统_MES环境下如何执行智能生产排程

热门文章

  1. 使用计算机翻译功能吗,微信上怎么使用翻译功能 翻译功能设置教程
  2. C语言中无符号数和有符号数之间的比较和运算
  3. electron解决下载慢(亲测有效)
  4. 【论文阅读】Fully Convolutional Networks for Semantic Segmentation【CVPR,PAMI】
  5. leetcode 5383. 给 N x 3 网格图涂色的方案数
  6. 从SSD角度学习NAND Flash(一)
  7. Python中Scrapy框架的代理使用
  8. 极客感十足的电子胸牌 ART-Badge V2.0开发记录!
  9. 快速了解K4B2G1646F-BYK0
  10. Edge Case UVA - 1646