博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql编程的入门案例
阅读量:6246 次
发布时间:2019-06-22

本文共 2684 字,大约阅读时间需要 8 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#开山函数 hello world
delimiter $$
create 
function 
test() 
returns 
varchar
(20)
begin
return 
'hello world!'
;
end
$$
delimiter ;
#小测试
delimiter $$
create 
function 
func1() 
returns 
varchar
(20)
begin
if 
hour
(now())>=18 
then
return 
'late'
;
else
return 
'zao'
;
end 
if;
end
$$
delimiter ;
#全局变量
delimiter $$
create 
function 
func2() 
returns 
int
begin
set 
@i = 1;
set 
@
sum 
= 0;
while @i<=10 do
set 
@
sum 
= @
sum 
+ @i;
set 
@i = @i + 1;
end 
while;
return 
@
sum
;
end
$$
delimiter ;
delimiter $$
create 
function 
func3() 
returns 
int
begin
set 
@i = 1;
set 
@
sum 
= 0;
w:while @i<=10 do
if @i = 5 
then
leave w;
end 
if;
set 
@
sum 
= @
sum 
+ @i;
set 
@i = @i + 1;
end 
while w;
return 
@
sum
;
end
$$
delimiter ;
delimiter $$
create 
function 
func6() 
returns 
int
begin
set 
@i = 0;
set 
@
sum 
= 0;
w:while @i<10 do
set 
@i = @i + 1;
if @i = 5 
then
iterate w;
end 
if;
set 
@
sum 
= @
sum 
+ @i;
end 
while w;
return 
@
sum
;
end
$$
delimiter ;
#参数方式,局部变量
delimiter $$
create 
function 
hello(
name 
varchar
(10)) 
returns 
varchar
(20)
begin
return 
concat(
'hello'
,
name
);
end
$$
delimiter ;
#定义局部变量,注意mysql的跳出是需要指定循环的。
delimiter $$
create 
function 
func8() 
returns 
int
begin
declare 
int 
default 
0;
declare 
total 
int 
default 
0;
w:while i<10 do
set 
i = i + 1;
if i = 5 
then
iterate w;
end 
if;
set 
total = total + i;
end 
while w;
return 
total;
end
$$
delimiter ;
#以下写一个存储过程,生成一张任意条记录的表。
#生成随机字符串
delimiter $$
create 
function 
rand_string(n 
int
returns 
varchar
(255)
begin
declare 
chars_str 
varchar
(100) 
default 
'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
;
declare 
return_str 
varchar
(255) 
default 
''
;
declare 
int 
default 
0;
while i<n do
set 
return_str = concat(return_str,
substring
(chars_str,floor(1+rand()*52),1));
set 
i = i + 1;
end 
while;
return 
return_str;
end
delimiter ;
#生成随机数字
delimiter $$
create 
function 
rand_num() 
returns 
int
(5)
begin
declare 
int 
default 
0;
set 
i = floor(10+rand()*500);
return 
i;
end
$$
delimiter ;
#定义存储过程
delimiter $$
create 
procedure 
insert_emp(start 
int
(10),max_num 
int
(10))
begin
declare 
int 
default 
0;
set 
autocommit = 0;
repeat
set 
i = i+1;
insert 
into 
emp 
values
((start+i),rand_string(6),
'SALESMAN'
,0001,2000,400,rand_num(),curdate());
until i = max_num
end 
repeat;
end

本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1288070,如需转载请自行联系原作者

你可能感兴趣的文章
NET生成缩略图
查看>>
微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目...
查看>>
渗流稳定性分析(MATLAB实现)
查看>>
POJ2253 Frogger(最短路径)
查看>>
动画总结?
查看>>
HDU 2044 一只小蜜蜂 *
查看>>
Java 斜杠 与 反斜杠
查看>>
垂直居中
查看>>
idea下maven项目,样式css、js更新后,页面不显示更新内容
查看>>
bzoj 1001 平面图转对偶图 最短路求图最小割
查看>>
php 记住密码自动登录
查看>>
NSThread创建线程的三种方法
查看>>
Logger.getLogger与LogFactory.getLog
查看>>
HDU4671 Backup Plan(构造序列-多校七)
查看>>
一些难得一见的代码问题
查看>>
Read–eval–print loop
查看>>
如果我是面试官 我要出什么题目(常更新)
查看>>
初识nginx
查看>>
React Native
查看>>
最优化
查看>>