mysql学习总结(三)
来源:互联网 发布:中国阶层固化 知乎 编辑:程序博客网 时间:2024/06/05 07:25
这几天打了点鸡血,感觉收获颇丰,于是今天我接着昨天的课程,今天我学习了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’;
- mysql学习总结(三)
- MYSQL总结(三)
- MySQL总结(三)
- MYSQL学习(三)
- MYSQL学习(三)
- MySQL学习(三)
- MySQL学习(三)
- MySQL学习(三)
- Mysql学习(三)
- MySQL学习(三)
- MySql学习(三)
- MySQL学习(三)
- 学习总结(三)
- mysql优化总结(三)
- MySQL入门学习(三)
- MySQL入门学习(三)
- MySQL入门学习(三)
- MySQL入门学习(三)
- HDU 5699 货物运输 ( 二分 + 不等式判断 )
- Java9 中的Jshell 操作
- Qt 学习笔记--------------------使用纯代码写dialog 与 UI文件
- UVA
- Python客户端注册到服务中心Eureka
- mysql学习总结(三)
- Python Challenge
- bzoj1600 [Usaco2008 Oct]建造栅栏
- tomcat部署项目启动报错
- UVA
- UVA
- <c语言经典100例>c19 猴子吃桃
- bzoj3781 小B的询问
- UVA