Mysql高级之存储过程

概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现.在封装的语句体里面,可以用if/else, case,while等控制结构.可以进行sql编程.

在mysql中,存储过程和函数的区别,

一个是名称不同,

二个就是存储过程没有返回值.

如果想获得返回值怎么办那?通过out性变量就OK!

查看现有的存储过程:

Show procedure status

删除存储过程

Drop procedure 存储过程的名字

调用存储过程

Call 存储过程名字();

1 过程里面声明变量

2 变量参与运算和简单控制语句

3 给存储过程传递参数

4 while循环

5 输出型变量

6 switch语句

7 do while语句

时间: 2024-10-09 21:08:51

Mysql高级之存储过程的相关文章

搞定linux上MySQL编程(三):MySQL高级语法

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 本节介绍Mysql高级语法,包括试图.存储过程.索引等,通过使用试图.触发器等来优化数据库设计和查询技术,提高数据处理能力与效率. 视图操作: 视图是一个虚拟表,内容由查询定义.视图并不在数据库中以存储的数据值集形式存在,行和列数据来源于定义视图的查询所引用的表,且在引用试图时动态生成.从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作的哦可以应用于视图,例如

mysql触发器与存储过程

外键 外键:foreign key,(键不在自己表中):如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称之为外键. 增加外键 外键可以在创建表时候,或者创建表之后增加.(但是要考虑数据的问题),一张表可以有多个外键. 创建表的时候增加外键 -- 在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段) 下面为之前的my_class表(表结构如下图)增加一个外键 create table my_foreignone( id int p

MySQL高级知识点

MySQL高级知识初识 一.视图: 1.什么是视图: 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE A. NAME > 'xkj'; 2.创建视图 --格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SE

mysql高级、索引

一.mysql高级 1.视图 # 引子 select * from emp left join dep on emp.dep_id = dep.id union select * from emp right join dep on emp.dep_id = dep.id; create view temp(emp_id,emp_name,salary,dep_id,dep_id2,dep_name,work) as select * from emp left join dep on emp.

八、mysql视图、存储过程、函数以及时间调度器

1.create or replace view emp_view as select * from t4 ;给t4表创建一个名为emp_view的视图 2.drop view emp_view 删除视图 ======================================= 1.创建一个存储过程(查询所有数据) create procedure p1 () READS SQL DATA BEGIN select * from t4; END 2.创建一个存储过程(查询传参数据) cre

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

JAVA如何调用mysql写的存储过程

存储过程是干什么的,自己百度,百度上讲的比我讲的好.为什么要用存储过程,这样可以提高效率.废话少说,直接上代码: 首先说一下语法:在mysql中写存储过程 DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `test`.`text_d`(in param1 varchar(10),in param2 varchar(20)) /*LANGUAGE SQL | [NOT] DETERMINISTIC | {

Mysql高级集群-读写分离Amoeba

一.环境介绍Master-IP:10.0.0.201Slave- IP:10.0.0.202Amobea-IP:10.0.0.203 二.安装JDK# mkdir /Amoeba# tar -xvf jdk-7u40-linux-x64.tar.gz -C /Amoeba/# vim /etc/profileJAVA_HOME=/Amoeba/jdk1.7.0_40export JAVA_HOME PATH=$JAVA_HOME/bin:$PATHexport PATH CLASSPATH=.:

MySQL数据库的存储过程(一)

MySQL数据库的存储过程常规create routinealterexecutesecuritydefiner 在创建存储过程的时候默认是选中相应的数据库(use db_name)所以在编写存储过程时候就不能在存储过程之中编写此语句 delimiter客户端 使用delimiter客户端设置结束符delimiter //主要是为了避免与存储过程中的SQL语句的结束符冲突 创建一个程序或者一个函数create procedure | function 学习存储过程首先我们应该学会最基本的几个操作