-
存储过程和自定义函数的区别
(1)存储过程实现的功能要复杂一些;而函数的针对性更强;
(2)存储过程可以返回多个值,函数只能有一个返回值;
(3)存储过程一般作为独立的来执行,而函数可以作为其他sql语句的组成部分来出现
查看全部 -
1、ROW_COUNT():被影响的记录的总数
2、创建过程:可以根据年龄删除用户,并且可以返回被删除的用户数和剩余的用户数
DELIMITER //
CREATE PROCEDURE wangning1(IN p_age smallint unsigned, OUT
dels smallint unsigned,OUT levs smallint unsigned)
BEGIN
DELETE FROM users where age=p_age;
select row_count() into dels;
select count(id) from users into levs;
END
//
常见完毕后,将//修改
DELIMITER;
查看全部 -
1、创建带有in和out参数类型的存储过程【输入+返回】
delimiter //
create procedure removeuserandreturnusernums(IN p_id int unsigned,
OUT usernums int unsigned)
BEGIN
delete from users where id =p_id;
select count(id) from users into usernums;
END
//
DELIMITER;
2、过程调用
CALL removeuserandreturnusernums(27,@nums)【第二个参数不能为定值,只能为变量】
select @nums;
3、局部变量、用户变量
局部变量只在begin和end之间的语句块有效;语句块运行完毕,局部变量消失;
用户变量针对客户端有效
查看全部 -
各种函数。。。
查看全部 -
1、将删除语句的命令封装成一个过程
2、创建过程:
delimiter //
create procedure RemoveUserById(IN id int unsigned)
begin
delete from users where id= id;
end
//
delimiter ;
系统报错(因为 id= id)
3、修改存储过程:只能修改名字、注释等,不能修改过程体
ALTER PROCEDURE sp_name [characteristic……]
comment 'string' |{contains sql}
4、要修改过程体,必须先将原过程体删除
DROP PROCEDURE RemoveUserById
5、修改完毕之后调用存储过程
CALL RemoveUserById(22)
查看全部 -
1、调用存储过程
(1)CALL sp_name([parameter[,…]])
(2)CALL sp_name[()]
如果编写的存储过程不带有参数,'()'可以加,也可以不加;但如果带有参数,则必须加‘()’
2、创建不带有参数的存储过程
create procedure sp1() select version();
查看全部 -
1、创建存储过程
CREATE
[DEFINER={user|CURRENT_USER}]
PROCEDURE sp_name([proc_paremeter[,…]])
[characteristic…] routine_body
proc_paremeter:
[IN|OUT|INOUT]param_name type
2、in:表示该参数的值必须在调用存储过程时指定;
out:表示该参数的值可以被存储过程改变,并且可以返回;
inout:表示该参数在调用时指定,并且可以被改变和返回
3、特性
COMMENT:注释
CONTAINS SQL:包含sql语句,但不包含读或者写数据的语句;
NOT SQL:不包含sql语句;
READS SQL DATA:包含读数据的语句;
MODIFIES SQL DATEA:包含写数据的语句;
SQL SECURITY{DEFINER|INVOKER}:指明谁有权限连执行
4、过程体
(1)过程体由合法的sql语句构成;
(2)过程体可以是任意的sql语句;
(3)过程体如果为复合结构则使用begin_end语句;
(4)复合结构可以包含声明、循环、控制结构
查看全部 -
1、存储过程是sql语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理
(1)增强sql语句的功能和灵活性;
(2)实现较快的执行速度;
(3)减少网络流量
查看全部 -
1、delimiter //:代表以后所有的MySQL命令都要以'//'结束
2、create function adduser(username varchar(20))
returns int unsigned
return
insert test(username) values(username);
系统报错
3、create function adduser(username varchar(20))
returns int unsigned
begin
insert test(username) values(username);
return last_insert_id();
end
//
4、删除函数
drop function function_name
查看全部 -
2、创建带参数的自定义函数:
create function f2(num1 smallint unsigned,num2 smallint unsigned)returns float(10,2) unsigned
return (num1+num2)/2
查看全部 -
1、创建不带参数的自定义函数:
create function f1() returns varchar(30)
returns date_format(now(),'%Y年%m月%d日' %H点:%i分:%s秒);
查看全部 -
1、自定义函数的两个必要条件:
(1)参数;
(2)返回值
2、函数可以返回任意类型的值,同样可以接收这些类型的参数
3、创建自定义函数
CREATE FUNCTION function_name
RETURNS
{string|integer|real|decimal}
routine_body
4、关于函数体(routin_body)
(1) 函数体由合法的sql语句构成;
(2)函数体可以是简单的select或insert语句;
(3)函数体如果为复合结构则使用begin……end语句;
(4)复合结构可以包括声明、循环、控制结构
查看全部 -
1、md5():信息摘要算法
select md5('admin');如果为了web页面做准备,建议使用MD5()
2、password():密码算法
主要用来更改mysql的更改密码
set password=password('wangning6985')
查看全部 -
1、set names gbk:改变编码格式
2、count():计数
3、avg():求平均值
4、max():求最大值
5、min():求最小值
6、sum():求和
查看全部 -
1、connection_id():返回连接的ID
select connection_id();
2、database():当前数据库;
3、last_insert_id():最后插入记录的ID号
必须具备自动编号的字段;当一次性插入多条记录时,只返回插入的第一条记录的id号
4、user():当前用户
5、version():版本信息
查看全部
举报