mysqldeclare浮点数_MySQL-Belong_yucl-博客园1.描述表得结构
desc table_name;
desc table_name;
2.删除表中得数据
delete from table_name where [约束条件]
delete from table_name where [约束条件]
3.可变浮点数定义⽤decimal(n,m)
n :是浮点数的(⼆进制)位数
m:是⼩数分的位数
eg:decimal(10,2)
n :是浮点数的(⼆进制)位数
m:是⼩数分的位数
eg:decimal(10,2)
4.标准的存储过程模板如下:
drop procedure if exists pro_1;
delimiter $
create procedure pro_1(
)
begin
end $
delimiter ;
drop procedure if exists pro_1;
delimiter $
create procedure pro_1(
)
begin
end $
delimiter ;5.存储过程的基本语法
<1>.设置变量
set @var_name = 0,@var_id = 12;
google chrome最新select @var_name , @var_id;
set @var_name = 0,@var_id = 12;
select @var_name , @var_id;<2>.流程控制
select username,
case username
when 'belong' then 'handsome'
when 'tom' then 'sou'
else 'ban'
end
from user;
select username,
case username
when 'belong' then 'handsome'
when 'tom' then 'sou'
else 'ban'
end
from user;结果如下:mysql查看所有存储过程
红⾊部分就是查询的第⼆个字段<3>.if
select * ,if(id>4,'男','⼥') sex from user;
select * ,if(id>4,'男','⼥') sex from user;重命名可以省略 as 因为查询的值都在select 与from之间所以表达式要写在select 与from之间
<4>.ifnull ifnull(expr1,expr2):如果expr1 为空 返回 expr2 否则返回expr1
set @a:=null;
select ifnull(@a,2);
set @a:=10;
select ifnull(@a,19);
ifnull(expr1,expr2):如果expr1 为空 返回 expr2 否则返回expr1
set @a:=null;
select ifnull(@a,2);
set @a:=10;
select ifnull(@a,19);
<5>.NULLIF(expr1,expr2):
如果expr1 = expr2 成⽴,那么返回值为NULL,否则返回值为expr1这和Case when expr1 = expr2 then NULL ELSE expr1 END相同
eg:
select NULLIF(1,1)
如果expr1 = expr2 成⽴,那么返回值为NULL,否则返回值为expr1这和Case when expr1 = expr2 then NULL ELSE expr1 END相同
eg:
select NULLIF(1,1)<6>.存储过程中为什么要使⽤DELIMITER
DELIMITER 是分隔符的意思,因为MySQL默认是以“;”为分隔符的,如果我们没有声明分隔符的话,那么编译器会把存储过程当成SQL语句进⾏处理,则存储过程的编译过程就会报错,所以要事先⽤DELIMITER关键字声明当前段分割符,这样MySQL才会将“;”当做存储过程中的代码,不会执⾏这些代码,⽤完之后就把分隔符还原
<7>.存储过程与函数区别存储过程参数分为输⼊和输出两类
⽤out和in表⽰存储过程⽤call来调⽤
存储过程参数还有inout型的参数 既可以当输⼊也可以当输出存储过程中的控制语句都要有结束标志end
<8>.分⽀语句if…then…else ……end if;
DELIMITER $
create procedure pro_1()
begin
declare var int ;
set var = parameter +1;
if var=0 then
select * from user where id = 1058;
end if;
if parameter = 0 then
select * from user where id = 1060;
else
select * from user where id = 1059;
end if;
end $
DELIMITER ;
php isset()DELIMITER $
create procedure pro_1()
begin
西班牙德国大战declare var int ;
set var = parameter +1;
if var=0 then
select * from user where id = 1058; end if;
if parameter = 0 then
select * from user where id = 1060; else
select * from user where id = 1059; end if;
end $
使用matlab画方程式的图DELIMITER ;<9>.While循环:DELIMITER $
create procedure pro_2()
begin
declare var int;
set var = 0;
while var<6 do
select var;
set var = var +1;
end while;
end $
DELIMITER ;
DELIMITER $
create procedure pro_2()
python工作好吗begin
declare var int;
set var = 0;
while var<6 do
select var;
set var = var +1;
end while;
end $
DELIMITER ;<10>.Repeat循环:DELIMITER $
create procedure pro_3() begin
declare v int;
set v:=0;
repeat
select v;
set v = v+1;
until v>-5
end repeat;
end $
DELIMITER ;
DELIMITER $
create procedure pro_3() begin
declare v int;
set v:=0;
repeat
select v;
set v = v+1;
until v>-5
end repeat;
end $
DELIMITER ;<11>.LOOP循环:DELIMITER $
create procedure pro_4() begin
declare v int;
set v:=0;
LOOP_Lable:loop
select v;
set v = v+1;
if v >= 5 then
leave LOOP_Lable;#离开循环end if;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论