MySQL编程
SQL文件链接在最下面
MySQL编程
MySQL编程的实用:数据库开发人员可以将功能复杂、使用频繁的MySQL代码封装成MySQL存储过程,从而提高MySQL代码的重用性。
一、用户自定义变量:
用户自定义变量用于存储MySQL存储程序运行期间所产生的临时变量,它分为用户会话变量和局部变量。
如下做出用户会话变量练习:
1.1、用户会话变量 ,set 命令可以创建和赋值用户变量;select命令可以输出用户变量;
set @userName='张三',@age=18; set @age=@age+1; select @userName,@age;
1.2 、使用会话select命令也可以创建和赋值用户变量;
select @userName:='李四'; select @userName;
1.3、统计“优乐网”商品的数量,并将该数量赋值给用户会话变量@productNum。
(1)方法一:使用set+子查询
set @productNum=(select count(*) from product); select @productNum;
(2)方法二:使用select+子查询
select @productNum:=(select count(*) from product); select @productNum;
(3)方法二的三种简化形式
select count(*) into @productNum from product; select count(*) from product into @productNum; select @productNum:=count(*) from product;
第二节、存储过程:
SQL语句的执行遵循“先编译在执行”原则,而存储过程(Stored Procedure)完美体现了这一原则。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程中的名字并给定参数来调用执行它。
delimiter $$ create procedure procedure_productInfo() begin select * from product; end; $$ delimiter ; call procedure_productInfo();
begin end 相当于{} 里面可以有多条SQL语句,其中,默认情况下每条SQL语句的结束标记是“ ; ”(效果是结束该命名)。有时候会有多条MySQL语句密不可分,不能中途结束命令,所以需要通过操作临时的重新设置命令结束标记。
delimiter $$ 自定义结束符号
如下做出用户会话变量练习:
2.1、临时的重新设置命令结束标记;
delimiter $$
delimiter ;
2.2创建一个名为 proc_product_info 的存储过程,其将获取所有商品的标题、类型名、团购价、地区名和商店名,并按照类型和团购价升序显示;
drop procedure if exists proc_productInfo; delimiter $$ create procedure proc_productInfo() begin select title 标题,categoryName 类型名,currentPrice 团购价,areaName 地区名,shopName 商店名 from product,category,area,shop where product.categoryID=category.categoryID and product.areaID=area.areaID and product.shopID=shop.shopID order by categoryName,currentPrice; end $$ delimiter ; call proc_productInfo();
2.3创建一个名为 proc_ProductStatistics 的存储过程,将获取不同类型的商品服务的个数和平均团购价;
drop procedure if exists proc_ProductStatistics; delimiter $$ create procedure proc_ProductStatistics() begin select categoryName 商品型名,count(product.productID) 商品数量,avg(currentPrice) 评价团购价 from product,category where product.categoryID=category.categoryID group by categoryName; end $$ delimiter ; call proc_ProductStatistics();
...........
总之,定义和使用自定义变量会让 SQL 语句更加灵活和易于管理。
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!