MySQL-第七讲:数据库编程

MySQL-第七讲:数据库编程

一.预习笔记

1.常量

字符串常量:特色字符时需要转义
数值常量:整数常量和小数常量
时间日期常量:由单引号引起来的日期时间字符串,年月日中间的间隔符 - \ @ %等特殊符号,经常使用 -
布尔值:true和false,false的数字值为0,true的数字值为1

2.变量

用户变量:用户可以在表达式中定义自己的变量临时存储需要存储的数据

在这里插入图片描述

用户变量:可以同时定义多个用户变量,使用逗号隔开,定义好了后数据类型就确定了,但是一旦重新赋值,数据类型也会随之改变

在这里插入图片描述

系统变量:mysql的一些特定设置,每一个系统变量都保存了不一样的mysql信息
show global variables:查看全局的系统变量
show variables:查看当前的系统变量
select @@系统变量名:查看系统变量名对应的值

3.运算符与表达式

算术运算符:+ - * / %

在这里插入图片描述
interval的使用

比较运算符:> < = >= <= <> != <=>,返回的结果是0(false),1(true),null(不确定)
逻辑运算符:not ! and && or || xor(一真一假且假不为null才返回true,显示1)
运算符优先级:

在这里插入图片描述

4.系统内置函数

数学函数:greatest() least() floor() celling()
字符串函数:ascII() char() left() replace()
时间日期函数:now() curtime() curdate()
加密函数:aes_encrypt() password() encode()
控制流函数:if(表达式,真时值1,假时值2)—三元运算符
类型转换函数:cast(表达式,as type)
系统信息函数:

在这里插入图片描述

5.存储过程(重难点)

创建存储过程:create procedue 存储过程名(参数)存储过程体
参数:输入参数in、输出参数out、输入输出参数inout
存储过程体:调用存储过程会去执行的代码,一般是以begin开始 end结束。

在这里插入图片描述

delimiter ##—设置##为结束标记,可以让存储过程体使用;表示一句代码的结束
create PROCEDURE addNum----创建一个存储过程 名交addNum
in num1 int,in num2 int—输入参数num1和num2都是int类型的
out num3 int----输出参数num3是int类型的
BEGIN set num3=num1+num2; END ##----begin … end表示存储过程体的开始与结束
set num3=num1+num2;—将num1和num2的和赋值给num3
delimiter ;----设置;为结束符号
set @result=0;—定义用户变量result,赋值为0
call addNum(1,1,@result)—调用存储过程addNum,并将结果保存在用户变量result中
select @result----查询显示result的值
局部变量:存储过程体中可以声明局部变量,但是只能在begin…end语句块中声明,且只能在begin…end中使用。声明的语法结构如下:declare 变量名 数据类型 ;使用set可以进行赋值,也可以使用select …into…进行赋值

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

如果想要运行多处连续的代码块,注释每一句代码块后跟上结束标记
查看存储过程:show procedure status
查看存储过程的创建代码:show create procedure 存储过程名
调用存储过程:call 存储过程名(参数)
删除存储过程:drop procedure if exists 存储过程名

6.流程控制语句

if语句

在这里插入图片描述

case语句:

在这里插入图片描述

while循环语句:

在这里插入图片描述

repeat语句:

在这里插入图片描述

loop语句:

在这里插入图片描述

存储过程嵌套:在新的存储过程中调用已经存在的存储过程

7.存储函数

在这里插入图片描述

创建存储函数:create function 存储函数名(参数) return 类型 函数体

在这里插入图片描述

存储函数的调用:select 存储函数名()
删除存储函数:drop function if exists 存储函数名

8.触发器

触发器是用于保护数据的,触发器不需要调用,当有操作影响到触发器保护的数据时,触发器会自动执行。
创建触发器:create trigger 触发器名 触发时间 触发事件 on 表名 for each row 触发器动作
触发时间—after 、before
触发事件—insert 、update、delete
for each row—对于受触发事件影响的每一行,都要激活触发器的动作。
触发器动作----包含激发触发器时要执行的动作

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

删除触发器:drop trigger 触发器名

二.课堂笔记

三.课后回顾





–仰望星空,脚踏实地;以梦为马,不负韶华

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值