目录
一、课堂内容
1.运算符
算数运算符 + - * / %
赋值运算符 =
比较运算符> < >= <= == !=
逻辑运算符与& 或| 异或^ 取反~ >>右移 <<左移
变量 数据类型 变量名 = 值;
用户变量:SET @变量名 = 值
系统变量:@@version @@date
局部变量:declare 变量名 数据类型(默认值);
2.流程控制
if 条件 then
语句1
else
语句2
end if;
//
case 表达式
when 值1 then sql语句1
when 值2 then sql语句2
……………………………………………….
when 值n then sql语句n
else sql语句n+1
end case;
//
while 条件 do
sql语句
end while;
//
1
标签
loop
2
if 条件 then
leave 标签;
end if
3
end loop;
4
//
1
repeat
2
until 条件
end repeat
3
//
3.创建存储过程
create procedure 存储过程名()
begin
………….
…………..
end;
create procedure proc601()
-> begin
-> declare i int default 1;
-> declare sum int default 0;
-> while i<=100 do
-> set sum = sum+i;
-> set i=i+1;
-> end while;
-> select sum;
-> end;//
编辑
create procedure proc602()
-> begin
-> declare dept varchar(20);
-> declare num int;
-> set dept='销售部';
-> select count(*) into num from teacher where prof=dept;
-> select dept,num;
-> end//
编辑
4.调用存储过程
call 存储过程名();
编辑
5.删除存储过程
drop procedure 存储过程名;
编辑
6.修改SQL结束符
delimiter
编辑
7.创建游标
declare 游标名 cursor for 查询语句;
8.打开游标
open 游标名;
9.读取游标
fetch 游标名 into 变量;
10.关闭游标
close 游标名;
11.开启事务
start transaction;
12.结束事物
提交 commit;
取消 rollback;
13.设置事务隔离级别
set session transaction isolation level 隔离级别;
14.事务隔离级别
read uncommitted 读未提交(脏读)
read committed 读提交(不可重复读)
repeatable read 可重复读(幻读)
serializable 可串行化
二、项目6总结
前言
存储过程是一组为了完成特定功能的PL\SQL 语句集,经编译后存储在数据库中,用户可以重复使用该存储过程,这样可以降低数据库开发人员的工作量。
游标是处理数据的一种方法,为了查看或处理结果集中的数据,游标提供了在结果集中一次一行浏览数据的能力。
事务是一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单元。
【任务6.1】创建简单存储过程
1.PL\SQL的变量
(1) 用户变量:
用户可以在PL\SQL中使用自己定义的变量,这样的变量称为用户变量。
(2) 系统变量:
MySQL可以访问许多系统变量和连接变量,当服务器运行时许多变量可以动态改变。
(3) 局部变量
在语句块(BEGIN到End之间)中定义的变量为局部变量。
2.PL\SQL的运算符及表达式
(1) 运算符的优先级
MySQL运算符优先级
优先级 | 运算符 |
最高 | ! |
2 | -(符号),~(按位取反) |
3 | ^(按位异或) |
4 | *、/(DIV)、%(MOD) |
5 | +、- |
6 | >>、<< |
7 | & |
8 | | |
9 | =(比较运算)、<=>、<、<=、>、>=、!=、<>、 IN、IS、NULL、LIKE、REGEXP |
10 | BETWEEN AND、CASE、WHEN、THEN、ELSE |
11 | NOT |
12 | &&、AND |
13 | ||、OR、XOR |
最低 | : = |
4.MySQL的存储过程
定义
(1)存储过程是一组为了完成特定功能的SQL 语句块,经编译后存储在数据库中,用户通过指定存储过程的名称并给定参数(如果该存储过程带有参数)来调用并执行, 存储过程可以重复使用,这样可以降低数据库开发人员的工作量。
优点
- 执行效率高
- 灵活
- 数据独立
- 安全
- 降低网络流量
【任务6.2】创建带输入参数的存储过程
【任务6.3】创建带输入和输出参数的存储过程
【任务6.4】创建应用游标的存储过程
【任务6.5】创建与使用事务
1.事务的ACID特性
(1)原子性
(2)一致性
(3)隔离性
(4)持久性