排名
1
文章
860
粉丝
112
评论
163
.net core自定义项目模板,创建自己的模板项目,使用命令行创建模板项目
尘叶心繁 : 可以可以讲真的我都想弄个模板
net core webapi post传递参数
庸人 :
确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 : 已精
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 :
疯狂反射
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

MySQL触发器
什么是触发器:
触发器是个特殊的存储过程,不是由用户触发,是系统根据事件来触发。对表操作比如
添加,删除,修改。 也就是在进行DML操作的时候可以触发我们自己写的逻辑
触发器的作用:
数据同步(数据同步更新,同步修改), 做一些数据自定义约束…..,可以根据具体业务来实现
触发时间:
操作之前和操作之后,比如添加之前执行,添加之后执行,更新之前,更新之后……
操作之前: before 触发事件
操作之后: after 触发事件
触发器的NEW和OLD
new涉及到新数据的时候可以使用,比如添加与更新
old涉及到旧数据的时候可以用,比如删除的时候
简单例子:
添加一个insert之和的触发器。添加class表的时候向test表也添加内容。
create TRIGGER tri_insert
after insert on class
for each row
begin
insert into test values(new.Id);
end
加一个update之后的触发器
-- 添加一个update之后的触发器。
create trigger tri_update
after update on class
for each row
begin
insert into test values(old.Id);
end
实际一点的使用,添加,更新,删除触发器
-- 添加的触发器,向stu_daily_assignment表添加的时候同步像alltask_index表写入一条数据。a表的id写入的是alltask_index表中的CompleteTaskId
create TRIGGER stu_daily_assignment_insert
after insert on stu_daily_assignment
for each row
begin
-- 取当前的日期时间
declare nowdata datetime;
SET nowdata = NOW();
insert into alltask_index values(REPLACE(UUID(), '-', ''),'StuDailyAssignment',new.Id,new.DAStatus,new.ClassId,new.CreateTime,new.CreateTime,nowdata,nowdata,'添加触发器添加的');
end
-- 删除的触发器。向stu_daily_assignment表删除的时候同步删除alltask_index表对应的数据
create TRIGGER stu_daily_assignment_delete
after delete on stu_daily_assignment
for each row
begin
-- 同步删除数据
delete from alltask_index where CompleteTaskType = 'StuDailyAssignment' and CompleteTaskId = old.Id;
end
-- 更新的触发器,就同步更新DAStatus字段即可
create TRIGGER stu_daily_assignment_update
after update on stu_daily_assignment
for each row
begin
-- 同步更新DAStatus字段
update alltask_index set DAStatus = new.DAStatus where CompleteTaskType = 'StuDailyAssignment' and CompleteTaskId = old.Id;
end
select * from alltask_index where Remark = '添加触发器添加的' and ID = '20d3790250a511efbf9d0242ac150002'
select * from stu_daily_assignment where id = '1819281825672073216'
-- 测试更新的时候触发
-- update stu_daily_assignment set DAStatus = 1 where id = '1819281825672073216'
MySQL用户管理
系统所有的用户,默认是在mysql数据库下的user表中的,查询用户如下:
select * from user
创建用户与删除用户
%表示所有ip地址可以访问,localhost表示只能本地访问
-- 创建用户
create user 'aj'@'%' identified by '123456'
-- 删除用户
drop user 'aj'@'localhost'
修改用户密码:
mysql_native_password可以省略
alter user 'aj'@'%' identified with mysql_native_password by '123'
MySQL权限管理
查询用户的权限:
Show grants for ‘用户名’@’主机名’
授权:
Grant 权限 on 数据库.表 to ‘用户名’@’主机名’
撤销权限:
revoke 权限 on 数据库.表 from ‘用户名’@’主机名’
实例:
-- 查询权限
show grants for 'aj'@'%'
-- 授予权限
grant all on oa1212.* to 'aj'@'%'
--撤销权限
revoke all on oa1212.* from 'aj'@'%'
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价