显示事务、视图、存储过程、函数、变量(简单总结)

显示事务 (transaction)


创建
1、关闭自动提交
SET autocommit=0;
2、开启事务
START TRANSACTION;

3、事务语句
ALTER TABLE girls MODIFY gname VARCHAR(20) NOT NULL;
INSERT INTO girls VALUES(0,'张三123');

4、明显的结束标记
COMMIT; 提交事务
ROLLBACK; 回滚
SELECT * FROM girls; 查看

transaction(事务)
ACID:
原子性atomicity

事务是一个不可拆分的工作单位,事务中的操作,要么全部完成,要么全部失败

一致性(Consistency)

事务的前后数据的完整性必须保持一致

隔离性(Isolation )

一个事务的执行不能被其他的事务干扰

持久性(Durability )

一旦事务提交之后,他对数据库的操作数据改变是永久的,接下来的任何突发情况都不会放生影响。

视图 (view)


创建:
create view 视图名
as
sql查询语句

视图使用:
SELECT * FROM 视图名

修改视图:
1create or replace view 视图名
   as
   查询语句
   
2alter view 视图名
   as  查询语句

#查看视图
DESC view1


# 查看创建视图的逻辑
SHOW CREATE VIEW v1

# 删除视图
DROP VIEW viewa,vuew3

存储过程(procedure)

创建格式:
	CREATE PROCEDURE 存储过程名(参数列表)
	BEGIN
	
		存储过程体(合法有效的SQL语句)
	END 
		参数列表 包含3个部分 参数模式  参数名  参数类型 ( IN username VARCHAR(20))
		参数模式(作用):
			IN 表示该参数作为输入,该参数调用的时候传入值
			OUT 该参数作为输出,就是返回值
			INOUT 既可以当做输入,又可以当做输出,表示的需要传入,也可以输出
调用:call 名(参数)
查看:show create procedure 存储名;
删除:drop procedure 存储名;

函数 (function)

函数:只有一个返回值!!!

创建格式:
	CREATE FUNCTION 函数名(参数列表) RETURNS 返回值类型
	BEGIN
		函数体;
	END
参数列表:参数名 参数类型

使用:select 函数名();
查看:show create function 函数名;
删除:drop function 函数名;

函数优点:
1、提高代码重用
2、简化操作
3、减少编译次数
4、减少与数据库服务器的连接次数提高效率

变量

系统变量

1、全局变量

1)查看所有的全局变量
	SHOW  GLOBAL  VARIABLES
	
(2)模糊查找全局变量
	SHOW  GLOBAL  VARIABLES like '%变量%'

(3) 查看具体的某个全局变量
	SELECT @@autocommit
    SELECT @@global.autocommit
    
(4) 对于某个具体的全局变量进行赋值
	SET @@global.autocommit=1
	
(5)查看全局变量自动提交状态
show global variables like 'autocommit';

(6)关闭全局变量的自动提交
set global autocommit = 0;7)打开全局变量的自动提交
set global autocommit = 1;

2、会话变量

1)查看所有的会话变量
	SHOW  session  VARIABLES
	SHOW  VARIABLES
	
(2)模糊查找会话变量
	SHOW  session  VARIABLES like '%变量%'
	SHOW    VARIABLES like '%变量%'

(3) 查看具体的某个全局变量
	SELECT @@autocommit
    SELECT @@session.autocommit
    
(4) 对于某个具体的全局变量进行赋值
	方法1SET @@session.autocommit=1
	方法2set session autocommit=15)查看会话自动提交的状态
show session variables like 'autocommit';6)关闭会话变量的自动提交
set session autocommit = 0;7)打开会话变量的自动提交
set session autocommit = 1;

自定义变量

1、用户变量

声明
SET @uname='张三'
SET @age:=18
SELECT @gender:='男'
#  := 海象运算符
# 查看
SELECT @uname
SELECT @age
SELECT @gender

修改用户变量
SELECT userinfo.`name` INTO @uname FROM userinfo WHERE phone=10

SELECT @uname


注意点:
可以使用在当前会话中的任何地方

2、局部变量
仅仅定义在begin …end中,即可以在函数function、存储过程procedure中使用,大部分用在存储过程中。


DELIMITER $
CREATE PROCEDURE p6()
BEGIN
# 创建局部变量
DECLARE sname VARCHAR(20);
DECLARE sage INT DEFAULT 0;
DECLARE sgender VARCHAR(20);

# 赋值
SET sname='张一毛';
SET sage:=18;
-- select @sgender:='女生';

# 调用
SELECT sname;
-- select sage;
-- select sgender;

END

CALL p6()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南桥经不起秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值