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 密码 /* 跳过权 ...
随机推荐
- HDU 4888 Redraw Beautiful Drawings(最大流+判最大流网络是否唯一)
Problem Description Alice and Bob are playing together. Alice is crazy about art and she has visited ...
- ZOJ 2112 Dynamic Rankings(主席树の动态kth)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112 The Company Dynamic Rankings ...
- 2.session与cookie的区别?
session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cook ...
- JSon_零基础_005_将po(bean)对象转换为JSon格式的对象字符串,返回给界面
将po(bean)对象转换为JSon格式的对象字符串,返回给界面 导入jar包: 编写po(bean)类: package com.west.webcourse.po; /** * 第01步:编写be ...
- android_demo01
/layout/activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ ...
- AP模块的发票过账后关联对应的凭证编号。
--AP发票 SELECT GJH.NAME,GJH.LEDGER_ID,GJH.JE_CATEGORY, GJH.JE_SOURCE,XDL.SOURCE_DISTRIBUTION_TYPE, XT ...
- MySQL增删改查
C/S:Client ServerB/S:Brower Server php主要实现B/S .net IIS java TomCat LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Ph ...
- 解决ultravnc在win2008 R2下CTRL+ALT+DELETEA组合键发送失败的问题
首先,请google “ultravnc ctrl+alt+delete”,得到的解决方法是,更改UAC.进入组策略-计算机配置-管理模板-windows登陆选项,“禁用或启用软件注意序列”,更改成“ ...
- Angularjs之directive指令学习笔记(二)
1.Directive的五个实例知道driective作用.其中字段restrict.template. replace.transclude.link用法 参考文章链接地址:http://damoq ...
- JVM复习笔记
1. JVM是什么? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...