首页 > 数据库 >MySQL触发器基本结构

MySQL触发器基本结构

时间:2024-06-21 13:31:13浏览次数:3  
标签:触发 触发器 -- after wallet user MySQL 结构

1修改分隔符符号

delimiter $$

可以修改成$$ // 都行

2创建触发器函数名称

create trigger 函数名

3什么样的操作触发,操作那个表

after:....之后触发

before:....之前触发

inser:插入被触发

uodate:修改被触发

delete:删除被触发

on表名

实例:在users表被添加信息后触发

after insert on users

4for each row 声明每次触发器都被执行

5开发触发器代码

begin

6触发器触发后执行代码块

7结束触发器

end;

8修改分隔符

$$

delimiter;

-- 触发器名称:after_user_insert
 
-- 功能描述:在user表插入新记录后,自动为新用户创建wallet记录
 
-- 触发时机:AFTER INSERT
 
-- 触发对象:user表
 
-- 触发行为:FOR EACH ROW(对每一行插入操作触发)
DELIMITER $$  -- 更改默认的语句分隔符为$$,这样可以在触发器内部使用分号
CREATE TRIGGER after_user_insert  -- 创建一个名为after_user_insert的触发器
AFTER INSERT ON user  -- 触发器在user表发生INSERT操作之后触发
FOR EACH ROW  -- 触发器对每一行插入操作都执行一次
BEGIN  -- 触发器开始
    --执行代码块
END;  -- 触发器结束
$$  -- 触发器定义结束,使用新的分隔符
DELIMITER ;  -- 将语句分隔符改回为分号

测试语句

-- 插入新用户记录,触发器应自动在user_wallet表中创建对应wallet记录
INSERT INTO user (username, password, email, phone)
VALUES ('孙燕姿', 'password123', '[email protected]', '1234567890');
 
 
-- 查询user_wallet表确认新wallet记录是否存在
-- 完整的多表联合查询确认
select u.*,uw.balance from `user` u INNER JOIN user_wallet uw on u.user_id=uw.user_id where username='孙燕姿'; 
-- 简单的子查询
SELECT * FROM user_wallet WHERE user_id = (SELECT user_id FROM user WHERE username = '孙燕姿');

 

标签:触发,触发器,--,after,wallet,user,MySQL,结构
From: https://blog.csdn.net/2302_80727358/article/details/139743201

相关文章

  • JavaWeb——Mysql的启动/登录/卸载
    目录1.Mysql服务器2.Mysql的简单使用2.1启动Mysql:2.2登录Mysql2.3退出3.连接别人的数据库4.卸载mqsql1.Mysql服务器安装了Mysql的计算机都成为Mysql服务器 2.Mysql的简单使用2.1启动Mysql:第一种方法:搜索服务,找到Mysql80,右击打开;第二种方法:输入cmd,右击命......
  • Mysql渗透及提权,命令执行
    查询用户selectuser()查询数据库版本selectversion()查询当前操作系统select@@version_compile_os查询读取数据库路径select@@datadir查询MYSQL安装路径select@@basedir查询plugin的路径select@@plugin_dirMysql-UDF提权https://blog.csdn.net/qq_48201589/......
  • MySQL存储引擎
    一、存储引擎定义存储引擎是MySQL数据库的组件,负责执行实际的数据IO操作(数据的存储和提取)。工作在文件系统之上,数据库的数据会先传输到存储引擎,再按照存储引擎的存储格式保存到文件系统。常用的存储引擎:InnoDB MyISAM二、MyISAM和InnoDBMyISAM1、MyISAM相关特性MyISA......
  • 类与结构体的区别
    原文链接:https://www.cnblogs.com/lcxBlog/p/4903070.html     https://blog.csdn.net/weixin_43831728/article/details/105916518区别:1.类型不同结构是一种值类型,而类是引用类型。值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来......
  • linux上安装MySQL的详细教程
    一、检查是否安装过mysql   rpm-qa|grepmysql(ps:输入命令没内容就是没有安装)二、安装mysql包yum-yinstallmysql57-community-release-el7-10.noarch.rpm出现下边这个就表示成功了三、安装mysql1.首先要进行的工作就是:(该命令作用就是导入MySQL官方的......
  • Python 学习 第四册 第8章 结构化的文本文件
    ----用教授的方式学习。目录8.1结构化的文本文件8.1.1CSV8.1.2 XML8.1.3 JSON8.1.4 YAML8.1结构化的文本文件结构化的文本有很多格式,区别它们的方法如下所示。• 分隔符,比如 tab('\t')、逗号(',')或者竖线('|')。逗号分隔值(CSV)就是这样的例子。• '<' 和 '>' ......
  • Mysql慢查询及优化(全网最详细!!!)
    一、定位慢SQL1.首先确认是否开启了慢查询2.设置慢查询的时间限制3.查询慢查询日志可定位具体的慢sql4.相关sql查询5.用Explain分析具体的sql语句6.用Explain字段介绍二、慢SQL优化1.不使用子查询2.读取适当的记录LIMITM,N3.分组统计可以禁止排序4.禁止不必要......
  • 【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
    ......
  • [Mysql] 的基础知识和sql 语句.教你速成(上)——逻辑清晰,涵盖完整
    目录前言上篇的内容概况下篇的内容概况 数据库的分类关系型数据库常见的关系型数据库系统非关系型数据库1.键值对数据库(Key-ValueStores)特点:常见的键值对数据库:2.文档数据库(DocumentStores)特点:常见的文档数据库:3.列族数据库(Column-FamilyStores)特点:常......
  • windows安装MySQL
    windows安装MySQL1.下载MySQL的安装包这里以mysql5.7.35为例进行安装演示用安装包放在下面mysql-5.7.35-winx64.zip2.解压安装包到需要安装的路径3.在解压的文件中创建my.ini[mysqld]basedir=MySQL路径\datadir=MySQL路径\data\port=3306skip-grant-tables4.安装My......