sql 文件名与时间关联 sql 利用 事件自动导出文件

思路 运用concat 合成导出文件的 select 语句
再用
PREPARE EXECUTE 翻译执行

set @str_name= CONCAT("SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/",UNIX_TIMESTAMP(now()),".txt'  FIELDS TERMINATED by ',' 
LINES TERMINATED by '\\r\\n'   FROM (SELECT '学号','课程号','分数' UNION all SELECT * FROM sc) as a")


# 翻译过程
SELECT @str_name   #
PREPARE tranlasion FROM @str_name
EXECUTE tranlasion

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

BEGIN 
SET @fileName=
CONCAT('SELECT *  into OUTFILE "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/',
UNIX_TIMESTAMP(NOW()),'.txt"','FROM  student');



SELECT @fileName  ; #
PREPARE tranlasion FROM @fileName;
EXECUTE tranlasion;


end

逻辑:

bumenbiao 表格主键为id,

banzhuren 表外键为 departmentid,

设计的触发器流程是用户想在banzhuren 表插入数据,所以代码如下

create TRIGGER abb
BEFORE INSERT on banzhuren

for EACH row 
BEGIN 
INSERT bumenbiao(id) VALUES (new.departmentid);
end 

INSERT banzhuren VALUES(5,'qwe',3,4)

显示 触发器:
show triggers from 数据库名

发布了70 篇原创文章 · 获赞 14 · 访问量 2620

猜你喜欢

转载自blog.csdn.net/Captain_DUDU/article/details/103527886