MySQL数据库的存储结构
--把若干条sql语句封装起来,起个名字,叫做过程,也是没有返回值的函数
--把这个过程存储在数据库中->存储过程
--存储过程的创建过程
create procedure proceduceName()
begin
sql 语句
end$ --查看
show procedure status \G --调用
call procedureName()$ --声明变量
declare age int default 18; --运算
set age:=age+10; --改变边界
delimiter $ --例子
create procedure p1()
begin
declare age int default 18; set age:=age+10;
select age;
end$ --用call p1()$调用时出现 age 28
--创建表
create table test(
id int,
name varchar(30) not null default '',
age int,
content varchar(40)
)engine myisam charset utf8$ --插入数据
insert into test values (1,'zhangsan',13,'学习好'),(2,'lisi',15,'智慧的化身'),(2,'wangwu',14,'不起眼')$
--存储过程存储sql语句
create procedure p2()
begin
select content from test where age=15;
end$ --存储过程是可以编程的
--意味着可以使用变量,表达式,控制结构完成复杂的功能 --if/else语句的使用
if 条件 then
语句;
else if 条件 then
语句;
else
语句;
end if; create procedure p3()
begin
declare age int default 18; if age>=18 then
select '你已经成年了';
else
select '未成年';
end if;
end$ --while 循环
while 条件 do
语句;
end while; --括号里可以声明参数
--参数类型 [in/out/inout] 参数名 参数类型
create procedure p4(agee int)
begin
select name from test where age=agee;
end$ in 表示输入参数 传参
out 表示输出参数 传变量名 向外传值 要设置初始化值
inout 输入参数执行后再输出 传入一个声明过的变量名 create procedure p5(in age int)
begin
select age as '你几岁了';
end$ --out 参数,要在procedure 内部初始化参数
create procedure p6(out result int)
begin
declare i int default 1;
set result:=0;
while i<=100 do
set result:=result+i;
set i:=i+1;
end while;
end$
--调用
call p6(@num)$
select @num$ --inout 参数
create procedure p7(inout age int)
begin
set age:=age+10;
select age as '10年后你几岁了';
end$ set @age=10$
call p7(@age)$
select @age$ --case语句
case 变量名
when 值1 then 操作1;
when 值2 then 操作2;
...
else 操作n;
end case; --repeat 循环
repeat
操作语句
until 条件 end repeat;
MySQL数据库的存储结构的更多相关文章
- MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析
文/何登成 导读: 来自网易研究院的MySQL内核技术研究人何登成,把MySQL数据库InnoDB存储引擎的多版本控制(简称:MVCC)实现原理,做了深入的研究与详细的文字图表分析,方便大家理解I ...
- MySQL数据库InnoDB存储引擎中的锁机制
MySQL数据库InnoDB存储引擎中的锁机制 http://www.uml.org.cn/sjjm/201205302.asp 00 – 基本概念 当并发事务同时访问一个资源的时候,有可能 ...
- MySQL数据库MyISAM存储引擎转为Innodb
MySQL数据库MyISAM存储引擎转为Innodb 之前公司的数据库存储引擎全部为MyISAM,数据量和访问量都不是很大,所以一直都没什么问题.但是最近出现了MySQL数据表经常被锁的情况,直接导 ...
- MySQL数据库Raid存储方案
作为一名DBA,选择自己的数据存储在什么上面,应该是最基本的事情了.但是很多DBA却容易忽略了这一点,我就是其中一个.之前对raid了解的并不多,本文就记录下学习的raid相关知识. 一.RAID的基 ...
- Ubuntu上更改MySQL数据库数据存储目录
之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...
- MySQL InnoDB 逻辑存储结构
MySQL InnoDB 逻辑存储结构 从InnoDB存储引擎的逻辑结构看,所有数据都被逻辑地存放在一个空间内,称为表空间,而表空间由段(sengment).区(extent).页(page)组成.p ...
- MySQL数据库InnoDB存储引擎
MySQL数据库InnoDB存储引擎Log漫游 http://blog.163.com/zihuan_xuan/blog/static/1287942432012366293667/
- 查看和改动MySQL数据库表存储引擎
要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎: 1.查看数据库所能支持的存储引擎: ...
- MYSQL Innodb逻辑存储结构
转载于网络 这几天在读<MySQL技术内幕 InnoDB存储引擎>,对 Innodb逻辑存储结构有了些了解,顺便也记录一下: 从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放 ...
随机推荐
- BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- UVaLive 7363 A Rational Sequence (二叉树)
题意:给定一个二叉树,并对每一个进行编号和规定,现在给你一个值,问你是第几个. 析:这个题,我想了好久才想出来,这个真是数据结构练的太差了,不够扎实,这个题,应该从下向上推,如果分子大于分母,那么这个 ...
- wikioi 3027 线段覆盖 2
题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段 ...
- Codeforces Round #280 (Div. 2) E. Vanya and Field 数学
E. Vanya and Field Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/492/pr ...
- uoj #31. 【UR #2】猪猪侠再战括号序列 贪心
#31. [UR #2]猪猪侠再战括号序列 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/31 Descript ...
- IOS 手绘地图导航
手绘地图导航 第三方库 NAMapKit, 1)支持在手绘图上标记.缩放 2)支持在单张图片 3)支持瓦片小图片 思路 前提:美工已经切好手绘图,并告知我们当前的缩放级别. 1)确定好手绘图左上角点在 ...
- iOS NSString常用用法大全
版权声明:本文为博主Atany原创文章,未经博主允许不得转载.博客地址:http://blog.csdn.net/yang8456211 一.NSRange 在对NSString介绍之前,我们先要了解 ...
- curl要注意的几点
1.post提交数据 $postData = array( 'paramCity' => array(array('id' => $city_id, 'day' => $city_d ...
- CSAPP缓冲区溢出攻击实验(上)
CSAPP缓冲区溢出攻击实验(上) 下载实验工具.最新的讲义在这. 网上能找到的实验材料有些旧了,有的地方跟最新的handout对不上.只是没有关系,大体上仅仅是程序名(sendstring)或者參数 ...
- XtraBackup原理5
http://www.cnblogs.com/gomysql/p/3650645.html xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有 ...