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)
上一篇 2022年4月24日 下午12:40
下一篇 2022年4月24日 下午12:40


相关推荐

  • C++ vector初始化_vector>初始化

    C++ vector初始化_vector>初始化#include<iostream>#include<string>#include<vector>#include<deque>#include<list>#include<forward_list>#include<string>#include<array>usingnamespacestd;#defineLENGTH10typedefintTYPE;.

    2025年11月12日
    7
  • BN层pytorch实现[通俗易懂]

    BN层pytorch实现[通俗易懂]#CreatedbyXkyat2019/11/29importtimeimporttorchimporttorchvisionimporttorch.nnasnnimportsysimporttorchvision.transformsastransformsfromtorch.utils.data.dataloaderimportDataLoad…

    2022年10月14日
    3
  • LoadRunner11.00安装&使用教程[通俗易懂]

    LoadRunner11.00安装&使用教程[通俗易懂]本教程分为四部分内容:安装序言:由于LoadRunner12.02或者12.53版本是HP公司推出的自带免费50个虚拟用户进行压力测试的版本,目的为了工程师去学习与了解的该工具。为了增大压力(增加虚拟用户数)到达高并发的性能测试,采用LoadRunner11.00,增加对应的Lice…

    2025年11月11日
    5
  • 数据库中去重_mysql数据去重

    数据库中去重_mysql数据去重数据库中如何去重:数据库中去重,需要分五步走一、找出重复值清单,利用distinct或groupby的方式将重复值清单取出二、将没有重复值的数据利用createtabletable_nameas步骤一中的查询语句三、将原表中数据利用truncatetabletable_name;的方式清空四、利用insertintotableselect*from无重复数据的表中五、将刚刚建立的表清掉即可推荐一个学习数据库,python,linux干货比较多的公众号:“数据与编程

    2022年9月30日
    3
  • tcping 用法「建议收藏」

    tcping 用法「建议收藏」目录一、概述二、软件安装三、使用二、参考资料一、概述ping程序发送icmp包,用于检测网络连通性,如果主机禁ping,就没办法判断连通性了。tcping程序基于tcp协议,查看网络延迟及开放的端口信息。二、软件安装1、下载tcping工具(根据自身系统选择32位/64位)tcping程序有很多不同的贡献者,此处下载的是EliFulkerson开发的tcping2、安装tcping将下载的exe文件放到c:\windows\system32\目录下面(如果下载的是64位的要把文件

    2022年6月23日
    68
  • LCD12864驱动显示程序

    LCD12864驱动显示程序这里是用的并行写法 后续会更新串行 并行缺点就是太占用 io 口了 我其实更喜欢用串行 不过不是比赛要求都不怎么用了 lcd12864 c include lcd12864 h ucharcodenum 0e sbitRS P3 5 命令 数据选择 sbitRW P3 6 读写

    2026年3月26日
    2

发表回复

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

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