Mysql-学习笔记(==》存储过程 九)
1、存储过程概念
在大型数据库系统中,一组为了完成特定功能的sql语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
2、建立存储过程
delimiter//
create procedure 过程名(参数名 参数类型)
begin
存储过程要执行的语句;
end//
delimiter;
建立添加数据的存储过程
修改数据的存储过程
删除...
查询...
某些项目众的业务处理的存储过程
3、存储过程使用的语句
if then
end if;
while do
end while;
repeat 循环语句 1+2+3+4+...+100=5050;
case switch
调用存储过程
call 过程名(实参表)
删除存储过程
drop procedure 过程名;
------------------------------------
USE db;
CREATE TABLE sss(
sid INT UNSIGNED NOT NULL AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
sscore TINYINT UNSIGNED,
saddress VARCHAR(30),
stel BIGINT UNSIGNED,
PRIMARY KEY(sid)
)ENGINE=MYISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO sss VALUES(NULL,'甄子丹',90,'北京',18298375932);
INSERT INTO sss VALUES(NULL,'李连杰',50,'湖北省武汉市',18298375932);
INSERT INTO sss VALUES(NULL,'杨幂',20,'上海',18298375932);
INSERT INTO sss VALUES(NULL,'李晨',30,'济南',18298375932);
SELECT * FROM sss;
成绩在20-59之间的加分
地址包含哪个地区的字符的 加多少分
-- 查看db数据库中所有的存储过程信息
SHOW PROCEDURE STATUS WHERE Db='db';
CALL sssadd(6);-- 传参数(相当于调用方法)
-- 建立存储过程(相当于java的类)
DELIMITER//
CREATE PROCEDURE sssadd(i INT)
BEGIN
DECLARE sc TINYINT;
DECLARE sd VARCHAR(30);
SELECT sscore, saddress INTO sc,sd FROM sss WHERE sid=i;
IF sc>=20 AND sc<60 THEN
IF sd LIKE '%上海%' THEN
UPDATE sss SET sscore=sscore+1 WHERE sid=i;
END IF;
IF sd LIKE '%济南%' THEN
UPDATE sss SET sscore=sscore+5 WHERE sid=i;
END IF;
END IF;
END//
DELIMITER;
DROP PROCEDURE sssadd;
-- 另外一种if then.. elseif... then else... end if
DELIMITER//
CREATE PROCEDURE sssadd(i INT)
BEGIN
DECLARE sc TINYINT;
DECLARE sd VARCHAR(30);
SELECT sscore, saddress INTO sc,sd FROM sss WHERE sid=i;
IF sc>=20 AND sc<60 THEN
IF sd LIKE '%上海%' THEN
UPDATE sss SET sscore=sscore+1 WHERE sid=i;
ELSEIF sd LIKE '%济南%' THEN
UPDATE sss SET sscore=sscore+5 WHERE sid=i;
ELSE
UPDATE sss SET sscore=sscore+3 WHERE sid=i;
END IF;
END IF;
END//
DELIMITER;
-- 条件循环 declare 声明变量 set 设置变量
DELIMITER//
CREATE PROCEDURE ddd()
BEGIN
DECLARE n INT;
SET n=0;
SET @x=0;
REPEAT
SET @x=@x+1;
SET n=n+1;
UNTIL n>100 END REPEAT;
END//
DELIMITER;
DROP PROCEDURE ddd;
CALL ddd();
SELECT @x;
Mysql-学习笔记(==》存储过程 九)的更多相关文章
- Mysql学习笔记(九)索引查询优化
PS:上网再次看了一下数据库关于索引的一些细节...感觉自己学的东西有点少...又再次的啃了啃索引.... 学习内容: 索引查询优化... 上一章说道的索引还不是特别的详细,再补充一些具体的细节... ...
- MySQL学习笔记——存储过程
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- MySQL学习笔记-MySQL体系结构总览
MySQL体系结构总览 不管是用哪种数据库,了解数据库的体系结构都是极为重要的.MySQL体系结构主要由数据库和数据库实例构成. 数据库:物理操作系统文件或者其它文件的集合,在mysql中,数据库文件 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- MySQL学习——操作存储过程
MySQL学习——操作存储过程 摘要:本文主要学习了使用DDL语句操作存储过程的方法. 了解存储过程 是什么 存储过程是一组为了完成特定功能的SQL语句集合. 使用存储过程的目的是将常用或复杂的工作预 ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
随机推荐
- zoj The 12th Zhejiang Provincial Collegiate Programming Contest Team Formation
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5494 The 12th Zhejiang Provincial ...
- 小项目:mini资源管理器【使用IO流:包含(Directory与DirectoryInfo、File与FileInfo的用法)】
主界面是这样的 1.在点击查询引发的事件时把TextBox.Text输入的目录地址加载到TreeList控件里. private void btnSelect_Click(object sender, ...
- 13---Net基础加强
更新中,敬请期待............ 作业-复习 程序集1 程序集2 反射1 反射2 反射3 反射4-记事本插件1 反射5-记事本插件2
- sql 中的回车和换行问题
--移除回车符 update master_locationSET street_number = REPLACE(street_number, CHAR(13), '') --移除换行符 updat ...
- [CentOS] 使用gitolite搭建git服务端
1. 创建用户 #创建gitadmin用户 useradd gitadmin #设置gitadmin密码 passwd gitadmin #创建git用户 useradd git #设置git密码 p ...
- 【fedora】设置中文为默认语言
安装Fedora时,界面语言是英语,手动安装简体中文语言包: 1.打开终端,执行yum install system-config-language命令来安装语言套件: 2.然后执行system-co ...
- SQLServer查询速度慢的原因
查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存 ...
- UIView属性及方法
@property(nonatomic) CGFloat alpha //设置视图的透明度 //透明度的设置从最小0.0到1.0 ,1.0为完全不透明, //其中这个属性只影响当前视图,并不会影响其子 ...
- Oracle读书笔记
数据区(也叫数据扩展区)由一组连续的Oracle块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个断(Segment). 数据块是Oracle逻辑存储中的最小的 ...
- MySQL OnlineDDL
参考资料: http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html http://www.mysqlperfo ...