mysql-tcl(Transaction Control Language) summary

本文详细介绍了MySQL中的事务概念,包括隐式和显式事务、事务的隔离级别以及如何进行回滚和提交。同时,讨论了存储引擎的作用,并展示了如何查看和选择不同的存储引擎。此外,还涵盖了视图的创建、修改和删除,以及变量的分类和使用。文章进一步阐述了存储过程和函数的创建、调用、删除及查看,强调了它们在数据库操作中的重要性。最后,提到了流程控制结构如IF、CASE和循环在MySQL中的应用。
摘要由CSDN通过智能技术生成

事务:事务由单独单元的一个或多个SQL语句组成,在这个单元中﹐每个MySQL语句是相互侬赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一且执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态﹔如果单元中的所有sQL语句均执行成功﹐则事物被顺利执行。

存储引擎:在mysql中的数据用各种不同的技术存储在文件(或内存)中

show engines//查看存储引擎

结果如下
在这里插入图片描述
事务的属性:
在这里插入图片描述
事务的创建


	隐式事务:事务没有明显的开启和结束的标记,如insert,update,delete语句
	
	显示事务:必须先设置自动提交功能为off
	set autocommit=0//将自动提交设置为off
	start transaction//可不写
	
	begin//可直接用begin
	语句
	...
	commit//提交事务
	rollback//回滚事务


隔离级别
在这里插入图片描述

select @@tx_isolation//查询隔离级别
set session transaction isolation level 隔离级别//设置隔离级别


savepoint:

begin
事务
savepoint a;
事务
rollback a;

视图:

create view 视图名
as
select 
......
;




select * from 视图名

视图的修改:

语法1create or replace view 视图名
as
查询语句
...

语法2alter view 视图名
as
查询语句

删除视图:

drop view 视图名,视图名,视图名....

查看视图:

desc 视图名
show create view 视图名//创建的过程

视图的更新:

 1.插入:
   insert into 视图名 values ()
 2.修改:
 	update 视图名 set 
 3.修改:
 	delete from 视图名 ....
 

在这里插入图片描述


变量:

 分类:
 	系统变量:
 			全局变量
 			会话变量
 			
 	自定义变量:
 			用户变量
 			局部变量		
	
一.系统变量
   变量由系统提供,不是用户定义,属于服务器层面
   1.查看所有的系统变量
   show global variables//全局
   show session variables//会话
   show variables//会话
   2.查看满足某种条件的系统变量
   show global|session variables like.... 
   3.查看指定系统变量
   select @@变量名//会话
   select @@global.变量名//全局
   4.为某个系统变量赋值
   set 变量名 =set global.变量名=set @@global|session.变量名=值
二.自定义变量
   
   用户变量(声明时必须赋值)
	   作用域:当前会话
	   1.声明并初始化
	   set @变量名=set @变量名:=select @变量名:=2.更新
	   重新声明
	   select 元素 into 变量名 from//将查询结果赋值给变量
   
   局部变量(仅仅定义在begin end)
   	   1.声明
   	   declare 变量名 类型
   	   declare 变量名 类型 default2.赋值
   	   set 变量名=set 变量名:=select @变量名:=select 元素 into 变量名 from3.查看
   	   select 变量名

   

存储过程和函数(类似java的方法,c的函数)

1.存储过程

.创建
  create procedure 存储过程名(参赛列表)
  begin
  .....
  end
  
  注意:
  1.参数列表包含三部分(不谢参数模式默认in)
  参数模式 参数名 参数类型
  2.参数模式:
  IN 该参数需要调用方传入值
  OUT 该参数可以作为返回值
  INOUT 具备以上23.如果存储过程只有一句话,beginend可以省略
  4.存储过程中每条语句都必须加;
  5.储存过程的结尾可以使用delimiter重新设置
  		语法:
  		delimiter 结束标记

二.调用
   call 存储过程名(实参列表);.删除
   drop procedure 存储过程名;.查看存储过程的信息
   show create procedure 存储过程名
  

2.函数:
区别:
存储过程:返回值数量不限 适合做批量的插入,更新
函数:有且只有一个返回 适合做数据的处理

.创建
	create function 函数名(参数列表) returns 返回类型
	begin
	...
	end
	
	注意:
	 1.参数列表包含:参数名 参数类型
	 2.必须有return语句

二.调用 
 	select	函数名(参数列表).查看函数
	show create function 函数名;.删除函数
	drop function 函数名;

流畅控制结构:

1.if
if(表达式1,表达式2,表达式3)
	表达式1成立,返回表达式2的值,否则返回表达式3的值

2.case
	1.充当java中的switch语句
	case 变量|表达式|字段
	when ..then...
	when ..then...
	else ...
	end
	
	2.充当java中的if else语句
	case 
	when 条件 then...
	when 条件 then...
	else...
	end


3.if结构
	if 条件1 then 语句1
	elseif 条件2 then 语句2
	else
	
	注意:只能放在begin end4.循环
	while:
		while 循环条件 do
			循环体
		end while 
	

	loop:
		loop 
		循环体
		end loop 

	repeat:
		repeat
		循环体
		until 结束循环的条件
		end repeat
		 

5.循环控制:
	iterate :类型于continue
	leave: 类似于break

相关内容:
mysql安装教程
DQL
DML
DDL


在这里插入图片描述
                                                                           --某科学的超电磁炮

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值