Mysql学习笔记(七)mysql编程基础之自定义函数。
delimiter $$
create function fn_liangzifunction() returns int
no sql
begin
set @row_no = @row_no + 1;
return @row_no;
end;
$$
delimiter ; delimiter $$
create function fn_get_name(student_num int) returns char(50)
reads sql data
begin
declare student_names char(50);
select student_name into student_names from student where student_no = student_num;
return student_names;
end;
$$
delimiter ; #将查询结果赋予变量。 delimiter $$
create function fn_get_choose_count(student_no1 int) returns int(50)
reads sql data
begin
declare choose_num int(50);
select count(*) into choose_num from choose where student_no = student_no1;
return choose_num;
end;
$$
delimiter ; delimiter $$
create function fn_get_name(no int,role char(50)) returns char(50)
reads sql data
begin
declare name char(50);
if('student'=role) then
select student_name into name from student where student_no=no;
elseif('teacher'=role) then
select teacher_name into name from teacher where teacher_no=no;
else set name = '输入有误';
end if;
return name;
end;
$$
delimiter ; #if else
delimiter $$
create function fn_get_name(no int,role char(20)) returns char(20)
reads sql data
begin
declare name char(20);
if(role='student') then
select student_name into name from student where student_no=no;
elseif(role='teacher') then
select teacher_name into name from teacher where teacher_no=no;
else set name='输入错误';
end if;
return name;
end;
$$
delimiter ; #switch case delimiter $$
create function fn_get_week(week_no int) returns char(20)
no sql
begin
declare week char(20);
case week_no
when 0 then set week = '星期一';
when 1 then set week = '星期二';
when 2 then set week = '星期三';
when 3 then set week = '星期四';
when 4 then set week = '星期五';
else set week = '今天休息';
end case;
return week;
end;
$$
delimiter ; #根据现在的时间判断问候语 delimiter $$
create function fn_get_hello(time int) returns char(20)
no sql
begin
declare hello char(20);
if(time < 9) then
set hello = '早上好';
elseif( 9 < time and time <= 12) then
set hello = '上午好';
elseif( 12 < time and time <= 18) then
set hello = '下午好';
elseif(18 < time and time < 22) then
set hello = '晚上好';
else
set hello = '晚安';
end if;
return hello;
end;
$$
delimiter ; #练习switch case 语句 delimiter $$
create function fn_get_myweek(day int) returns char(50)
no sql
begin
declare weekname char(50);
case day
when 1 then set weekname = '星期一';
when 2 then set weekname = '星期2';
when 3 then set weekname = '星期3';
when 4 then set weekname = '星期4';
when 5 then set weekname = '星期5';
else set weekname = '星期日';
end case;
return weekname;
end;
$$
delimiter ; #while语句
#和其他编程一样,当条件表达式值为true时,就一直执行循环体,直到条件表达式为false。 delimiter $$
create function fn_get_mysum(num int) returns int
no sql
begin
declare sum int default 0;
declare start int default 0;
while start < num do
set start = start + 1;
set sum = sum + start;
end while;
return sum;
end;
$$
delimiter ; #while中的内部控制语句
#leave 相当于php循环中的break了。
# 至于下面的add_num,相当于给while的循环起一个名字。 delimiter $$
create function fn_get_sum1(n int) returns int
no sql
begin
declare sum int default 0;
declare start int default 0;
add_num : while true do
set start = start + 1;
set sum = sum + start;
if(start = n) then
leave add_num;
end if;
end while add_num;
return sum;
end;
$$
delimiter;
Mysql学习笔记(七)mysql编程基础之自定义函数。的更多相关文章
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- java学习笔记14--多线程编程基础1
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 安装
所有平台的 MySQL 下载地址为: MySQL 下载:https://dev.mysql.com/downloads/mysql/ 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL GROUP BY 语句
GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, funct ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 运算符
要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 在除法运算和模运算中, ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 导入数据
1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql) 实例: # mysql -uroot -p12 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 处理重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 防止表中出现重复数据 可以在 MySQL 数据表中设置指定的字段为 PRIMARY K ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 临时表
MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. MySQL临时表只在当前连接可见,如果使用PHP脚本来创建My ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 事务
MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL UNION 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SELECT ...
随机推荐
- [HDU5902]GCD is Funny(xjb搞)
题意:n个数每次选三个数删除,取其中两个数将gcd放回去两次,问最后剩的数可能是多少 分析:考虑最优情况: 先拿出三个数,留下两个x,x 再来一个y,(x,x,y)我们可以删去一个x,留下两个gcd ...
- 【对noip结束后一个月内的总结】
最近在刷一些树结构,但发现没有一个提纲,觉得有点不知所措,经常学完一个就发现还有比它更好的,而且比较耗时间.于是沙茶准备按顺序刷bzoj的省选题,看看效果怎么样……求大神指教
- SEO站点优化学习总结
1.网站收录查询 在搜索引擎里面输入Site:域名 即可. 尾巴——学习SEO可以看看以下几个网站: 卢松松博客[一个草根的博客]:http://lusongsong.com/ 站长之家[里面有站长统 ...
- linux 防火墙开放特定端口与指定ip谨防
vi etc/iptable/sysconfig/iptables linux 开放固定端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 1 ...
- 40-cut 简明笔记
从输入行中选取字符或者字段 cut [options] [file-list] cut 从输入行中选取字符或者字段,并将他们写到标准输出,字符和字段从1开始编号 参数 file-list 是文件的路径 ...
- eclipse下package的命名规范
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...
- 【CodeVS 3289】【NOIP 2013】花匠
http://codevs.cn/problem/3289/ dp转移,树状数组维护前缀max和后缀max进行优化,$O(nlogn)$. #include<cstdio> #includ ...
- Javascript写了一个2048的游戏
去年2048很火, 本来我也没玩过, 同事说如果用JS写 只要100多行代码: PS(iWeb峰会暨攻城师嘉年华2015嘉年华要来啦, 在文章结尾有具体的地址和时间): 今天试了一下, 逻辑也不复杂, ...
- css 小三角
span{ display: inline-block; border-top: 100px solid red; border-right: 100px solid transparent; bor ...
- 一起学HTML基础-CSS样式表常用样式属性
样式属性 背景与前景: background-color:#F90; /*背景颜色,样式表优先级最高*/ background-image:url(路径); /*设置背景图片(默认)*/ backgr ...