当前位置: 移动技术网 > IT编程>开发语言>Java > MYSQL批量插入数据的实现代码第1/3页

MYSQL批量插入数据的实现代码第1/3页

2019年07月22日  | 移动技术网IT编程  | 我要评论

也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
2.条件语句
if 条件 then
statement
else
statement
end if;
3.循环语句
(1).while循环
[label:] while expression do
statements
end while [label] ;
(2).loop循环
[label:] loop
statements
end loop [label];
(3).repeat until循环
[label:] repeat
statements
until expression
end repeat [label] ;
五.其他常用命令
1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
存储过程创建语法:
create procedure procedure_name ([parameter[,...])
[language sql]
[ [not] deterministic ]
[{contains sql|modifies sql data|reads sql data|no sql}]
[sql security {definer|invoker} ]
[comment comment_string]
procedure_statements
可用show procedure status 或 show create procedure 来查看存储过程信息
另,系统表information_schema.routines也包含了存储过程的一些信息
同样地,函数也可以使用同样方式查看(show function status)
函数的创建
create function function_name (parameter[,...])
returns datatype
[language sql]
[ [not] deterministic ]
[ {contains sql | no sql | modifies sql data | reads sql data} ]
[ sql security {definer|invoker} ]
[ comment comment_string ]
语句体
函数与存储过程基本一样,其区别主要有:
1、 要使用returns指定返回类型
2、 函数必须返回值,且在语句体中使用return返回(注意:指定返回类型用returns,返回值用return)
3、 参数不区分in,out,全部为in类形
例:
create function cust_status(in_status char(1))
returns varchar(20)
begin
declare long_status varchar(20);
if in_status = 'o' then set long_status='overdue';
elseif in_status = 'u' then set long_status='up to date';
elseif in_status = 'n' then set long_status='new';
end if;
return(long_status);
end;
调用:
select cust_status('o');
触发器
create [definer={user|current_user}] trigger trigger_name
{before|after} {update|insert|delete}
on table_name
for each row
trigger_statements
意义:当对表table_name执行update,insert,delete操作之前(before)或之后(after)时触发语句trigger_statements操作
例:
mysql> create trigger account_balance_au
after update on account_balance for each row
begin
declare dummy int;
if new.balance<0 then
set new.balance=null;
end if;
end
上述触发器表示:当更新表account_balance之后,如果更新的值balance小于0,则将它改为null,
注:如果为old.balance则表示更新前的原值
3

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网