mysql学习记录

insert into table_nameA(字段名) select 字段名 from table_nameA(按照一般的select语句格式进行)

通过此语句,可以根据需要抓取数据组成新记录落表

存储过程

创建:

CREATE PROCEDURE pro_name(

IN orderNo INT,

OUT param1 DECIMAL(8,2)

BEGIN

select sum(price*num)

INTO param1

from TableA;

END;

存储过程可以不定义返回数;存储过程处理写在begin end 块中,IN表示入参,OUT表示出参,即处理后返回给调用方的结果

以上的例子调用情况如下:

CALL pro_name(20005,@total)--即使存储过程无入参出参,仍需要带上()

此时,可以直接使用@total

select @total

此语句,计算出来的就是一个订单的商品合计价格的值

在存储过程中可以使用declare定义中间变量

修改MySQL中的存储过程,可以使用 ALTER PROCEDURE 语句,内容格式同新增

删除存储过程:drop procedure pro_name,不需要带()

触发器:

以上是创建触发器的例子,触发器只针对表的insert、update以及delete操作生效,在操作前与操作后的关键字分别为BEFORE和AFTER,对视图以及临时表不起作用,select无需触发器

insert触发器是建立一张NEW虚拟表记录,delete触发器是建立一个OLD表进行进行记录,update触发器则是用old表接旧值,用new表接新值;old中的记录不可更改,new中的记录值在落表后可能被更改

触发器不能修改,需要做任何改动,删了重建即可,名称唯一,删除:drop trigger neworder

相关推荐
进阶小白猿30 分钟前
Java技术八股学习Day30
java·开发语言·学习
近津薪荼31 分钟前
优选算法——双指针6(单调性)
c++·学习·算法
修修修也1 小时前
【无标题】技术欲望是怎样渐进增长的?
学习
whale fall1 小时前
celery -A tool.src.main worker --loglevel=info --queues=worker1_queue & 什么意思
python·学习·apache
快乐非自愿1 小时前
【面试题】MySQL 的索引类型有哪些?
数据库·mysql·面试
霖霖总总2 小时前
[小技巧55]深入解析数据库日志机制:逻辑日志、物理日志与物理逻辑日志在 MySQL InnoDB 中的实现
数据库·mysql
wotaifuzao3 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
3108748764 小时前
0005.C/C++学习笔记5
c语言·c++·学习
ruxshui4 小时前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
Mr_Xuhhh4 小时前
MySQL数据表操作全解析:从创建到管理
数据库·sql·oracle