首页 > 数据库 >MySQL 存储过程 procedure

MySQL 存储过程 procedure

时间:2022-10-21 21:00:40浏览次数:41  
标签:存储 -- sp procedure MySQL select wxdb

存储过程 procedure

MySQL 5.0 版本开始支持存储过程。

存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。

存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。

存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

image-20210526113001368

image-20210526113908663

select user(),database(),version(),now();
select * from stu limit 10;

-- 建立存储过程
delimiter $
create procedure sss2()
begin
    select * from stu limit 10;
    /*  声明变量 if语句 loop循环语句 sql语句 */
end $
delimiter ;

-- 调用执行存储过程
call sss;
call sss();

-- 查看wxdb数据库所有存储过程名称
select `SPECIFIC_NAME` from `INFORMATION_SCHEMA`.`ROUTINES` where `ROUTINE_SCHEMA` = 'wxdb' and ROUTINE_TYPE = 'PROCEDURE';

-- 建立查看数据库的存储过程
delimiter $
create procedure sp(dbname varchar(100))
begin
    select `SPECIFIC_NAME` from `INFORMATION_SCHEMA`.`ROUTINES` where `ROUTINE_SCHEMA` = dbname and ROUTINE_TYPE = 'PROCEDURE';
end $
delimiter ;
-- 删除存储过程
drop procedure sp;
call sp('wxdb');

call sp('hbcf')

use mysql;
select user(),database(),version(),now();
-- 当前库在mysql上,可以跨库调用存储过程
call wxdb.sp('wxdb');

use wxdb;

call sp('wxdb');
show global variables ;
show variables ;
select @@version,@@port;

-- 查看某数据库存储
show procedure status where db='wxdb';



select count(*) from stu;

delimiter $
create procedure sp_count(in tname varchar(50),out cc int)
begin
    --  SET @sqlcmd = concat('select count(*) into ',cc,' from ', tname);
     -- prepare stmt from @sqlcmd;
     -- execute stmt;
     -- deallocate prepare stmt;

    select count(*) into cc from stu;
end $
delimiter ;
drop procedure sp_count;
call sp_count('stu',@aa);
select @aa;

标签:存储,--,sp,procedure,MySQL,select,wxdb
From: https://blog.51cto.com/lianghecai/5784581

相关文章

  • Mysql 5.7 忘记root密码或重置密码的详细方法
    1、修改配置文件my.cnf按i编辑[root@mihutao~]#vim/etc/my.cnf在[mysqld]中添加skip-``grant``-tables例如:[mysqld]``**skip-``grant``-tables**``datadir=/var......
  • mysql--索引
    来源:https://zhuanlan.zhihu.com/p/453658511 1、什么是索引索引其实是⼀种数据结构,能够帮助我们快速的检索数据库中的数据 2、索引的优点缺点优点:......
  • 顺序存储结构的优缺点
    顺序存储结构的优缺点优点顺序存储结构是一种随机存取结构,存取任何元素的时间是一个常数,速度快。结构简单,逻辑上相邻的元素在物理上也是相邻的。不需要使用指针,节省存......
  • Databend 存储架构总览
    目的通过本篇文章带大家理解一下Databend的存储结构。Databend内置的Table引擎为Fusetableengine,也是接下来要花重点篇幅要讲的。另外,Databend还支持外置的Hiv......
  • 使用RTOS系统如何选取大容量存储芯片NAND Flash
     随着物联网的兴起,很多产品都要求启动速度快、功耗低、响应及时。所以RTOS(比如RT-Thread)得到了越来越广泛的应用。本身RTOS系统是面向专且精的产品,因此系统的镜像都是非......
  • 华为云数据库 RDS for MySQL ,助力数字化企业安全发展​
    在云计算、大数据和人工智能高速发展的云2.0时代,传统的数据库已然难以适应海量信息数据、高计算高性能的计算级运行,不能搭配LAMP,不能适应WEB开发的要求。网络运营单位开始追......
  • 通俗易懂的MySQL事务及MVCC原理,我先收藏了!
    一、事务简介与四大特性事务指的是一组命令操作,在执行的过程中,要么全部成功,要么全部失败。由引擎层支持事务,MyISAM就不支持事务,而InnoDB是支持事务的。事务具有以下四大特性......
  • 10-JS创建项目与连接Mysql总结
    JS创建项目与连接Mysql总结一、npm介绍二、NodeJS在VScode环境下创建项目首先新建一个项目文件夹右键该文件夹,选择在终端打开菜单项在VScode提供的终端环境下......
  • 使用MySQL Proxy实现读写分离的正确操作
    环境:CentOS7本文适用于包括Docker的所有环境,Docker安装这里不在阐述。第一步从官网下载tar包。官网链接:https://downloads.mysql.com/archives/proxy/a)直接在CentOS上......
  • WordPress 优化 MySQL 数据库慢查询
    搭建WordPress网站会占用大量的内存,还需要一些好些的服务器配置之外,我们如果想更好的给用户有更好的访问体验,对网站优化也是必不可少的。很多时候用WordPress越久,数据......