mysql学习总结(三)

7 篇文章 0 订阅

这几天打了点鸡血,感觉收获颇丰,于是今天我接着昨天的课程,今天我学习了mysql存储过程以及触发器。下面是我的收获的心得:

存储过程:带有逻辑的sql语句(简单的做了一个定义)

存储过程特点:
1)执行效率非常快!存储过程是在数据库的服务器端执行的!!!
2)移植性很差!不同数据库的存储过程是不能移植。
存储过程语法:
这里写图片描述

参数:
IN: 表示输入参数,可以携带数据带存储过程中
OUT: 表示输出参数,可以从存储过程中返回结果
INOUT: 表示输入输出参数,既可以输入功能,也可以输出功能
这里写图片描述


用例1:
这里写图片描述

删除存储过程
DROP PROCEDURE 存储过程名称;


这里写图片描述


这里写图片描述


这里写图片描述


这里写图片描述


触发器作用:当操作了某张表时,希望同时触发一些动作/行为,可以使用触发器完成!!

1:创建触发器(添加)
– 当往员工表插入一条记录时
CREATE TRIGGER tri_empAdd AFTER INSERT ON employee FOR EACH ROW INSERT INTO test_log(content) VALUES(‘员工表插入了一条记录’);

2:创建触发器(修改)
当往员工表修改一条记录时
CREATE TRIGGER tri_empUpd AFTER UPDATE ON employee FOR EACH ROW INSERT INTO test_log(content) VALUES(‘员工表修改了一条记录’);

3:创建触发器(删除)
当往员工表删除一条记录时
CREATE TRIGGER tri_empDel AFTER DELETE ON employee FOR EACH ROW INSERT INTO test_log(content) VALUES(‘员工表删除了一条记录’);

mysql权限问题
– 权限账户,只拥有部分权限(CURD)例如,只能操作某个数据库的某张表
– 如何修改mysql的用户密码?
– password: md5加密函数(单向加密)
SELECT PASSWORD(‘root’);
查询结果:*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
– mysql数据库,用户配置 : user表
USE mysql;
SELECT * FROM USER;
mysql修改密码:
UPDATE USER SET PASSWORD=PASSWORD(‘123456’) WHERE USER=’root’;
分配权限账户
–语法

GRANT SELECT(DELETE…) ON 数据库.表 to ‘帐户名’@’帐户类型’ IDENTIFIED BY ‘密码’

GRANT SELECT ON day16.employee TO ‘eric’@’localhost’ IDENTIFIED BY ‘123456’; GRANT DELETE ON day16.employee TO ‘eric’@’localhost’ IDENTIFIED BY ‘123456’;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值