mysql基础

mysql基础mysql基础

大家好,又见面了,我是你们的朋友全栈君。

查看sql进程
show full processlist;

查看表字段信息详细
SHOW FULL COLUMNS FROM 表名

MySQL TRIGGER
触发器(TRIGGER)是MySQL的数据库对象之一,从5.0.2版本开始支持。该对象与编程语言中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现执行。有点类似DOM中的事件。

语法

CREATE TRIGGER <触发器名称>  --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.
{ BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后。
{ INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
ON <表名称>  --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。
FOR EACH ROW  --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句>  --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。

--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

例子
创建两个表

DROP TABLE IF EXISTS tab1;

CREATE TABLE tab1(
    tab1_id varchar(11)
);

DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
    tab2_id varchar(11)
);

创建 插入触发器:

DROP trigger if exists t_insert;
delimiter $
create TRIGGER t_insert
AFTER INSERT on tab1
for EACH ROW
BEGIN
    insert into tab2(id) values(new.id);
END;

delimiter ;

insert into tab1(id) VALUES('1');

创建删除触发器:

DROP trigger if exists t_insert;
delimiter $
create TRIGGER t_insert
AFTER DELETE on tab1
for EACH ROW
BEGIN
    DELETE from tab2 WHERE id=old.id;
END;

delimiter ;

DELETE from tab1 WHERE id=1;

原文地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105919.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 罗永浩欠六个亿脱口秀_罗永浩直播带货视频

    罗永浩欠六个亿脱口秀_罗永浩直播带货视频做直播赚钱,跟做其它所有合法工作赚钱一样,一样可以选择干干净净的赚钱。而越假装不在乎钱,就越不会去赚钱,所以她在30岁时,自己撕掉那块遮羞布,拼命赚钱,过积极的生活。站街上一天8小时,赚80元,可80元卖5盒明信片就有了啊。提及这段经历,就是想说,当你真的开始在乎钱,真的想赚更多钱时,你真的能找到各种办法。这个社会的很多人,有些病态,自己背着房贷,猪肉排骨都舍不得大口吃,还不努力赚钱,甚至还不好意…

    2022年9月21日
  • oracle批量插入数据

    oracle批量插入数据

    2021年9月12日
  • 下载和安装MySQL(傻瓜)教程[通俗易懂]

    下载和安装MySQL(傻瓜)教程[通俗易懂]1.下载MySQL打开MySQL官网:MYSQL官网2.安装安装mysql时一直卡在startingtheserver这一位置,解决办法3.检查是否安装成功4.安装成功后进行登录

    2022年5月6日
  • addslashes和stripslashes函数

    addslashes和stripslashes函数addslashes()函数返回在预定义字符之前添加反斜杠的字符串。预定义字符是:单引号(’)双引号(”)反斜杠(\)NULLecho”Who’sBillGates?<br>”;echoaddslashes(“Who’sBillGates?”)结果:Who’sBillGates?Who\’sBill…

    2022年10月21日
  • tcp粘包是怎么产生的_tcp报文格式

    tcp粘包是怎么产生的_tcp报文格式tcp粘包是怎么产生的?1、什么是tcp粘包?发送方发送的多个数据包,到接收方缓冲区首尾相连,粘成一包,被接收。2、原因TCP协议默认使用Nagle算法可能会把多个数据包一次发送到接收方。应用程读取缓存中的数据包的速度小于接收数据包的速度,缓存中的多个数据包会被应用程序当成一个包一次读取。3、处理方法发送方使用TCP_NODELAY选项来…

    2022年8月11日
  • 在线数据库设计工具-toolfk程序员在线工具网

    在线数据库设计工具-toolfk程序员在线工具网本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持BarCode条形码在线生成、QueryList采集器、PHP代码在线运行、PHP混淆、加密、解密、Python代码在线运行、JavaScript在线运行、YAML格式化…

    2022年7月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号