首页 > 数据库 >MySQL基础知识分享(二)

MySQL基础知识分享(二)

时间:2024-08-04 22:09:51浏览次数:15  
标签:语句 事务 视图 基础知识 job MySQL 分享 id

写在前面

大家好,不知道前面的20题大家写的怎么样,前面分享的20题是SQL中查询的基础题型,这部分被称为DQL部分,是每个学习MySQL必须要学会的部分,下面就让我来介绍MySQL中的TCL部分,也就是事务部分。

ACID四大特性

事务的概述

事务的ACID特性可以确保银行不会弄丢你的钱。而在应用逻辑中,要实现这一点非常难, 甚至可以说是不可能完成的任务。一个兼容ACID的数据库系统,需要做很多复杂但可能用户并没有觉察到的工作,才能确保ACID的实现。

原子性(Atomicity)

单个事务,为一个不可分割的最小工作单元,整个事务中的所有操作要么全部commit成功,要么全部失败rollback,对于一个事务来说,不可能只执行其中的一部分SQL操作,这就是事务的原子性。

一致性(Consistency)

数据库总是从一个一致性的状态转换到另外一个一致性的状态。在前面的例子中, 一致性确保了,即使在执行第三、四条语句之间时系统崩潰,信用卡账户也不会损 失100块,因为事务最终没有提交,所以事务中所做的修改也不会保存到数据库中,保证数据一致性。

隔离性(Isolation)

通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。在前面 的例子中,当执行完第三条语句、第四条语句还未开始时,此时有另外一个账户查询余额SQL开始运行,则其看到的信用卡账户的余额并没有被减去100元。

持久性(Durability)

一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。

事务的运行

步骤1:开启事务
set autocommit=0;
start transaction;可选的
步骤2:编写事务中的sql语句(select insert update delete)
语句1;
语句2;
......
步骤3:结束事务
commit;提交事务
rollback;回滚事务
savepoint 节点名; 设置保存点

查看mysql引擎

show ENGINES;

查看事务是否开启

SHOW VARIABLES LIKE 'autocommit';

事务的隔离级别

脏读 不可重复读 幻读
read uncommitted
read committed
repeatable read
serializable

mysql中默认 第三个隔离级别 repeatable read

查看隔离级别
select @@tx_isolation;
mac中查看:select @@transaction_isolation

设置隔离级别
set session|global transaction isolation level 隔离级别;

设置保存点

savepoint 节点名; 设置保存点

set autocommit=0;
START TRANSACTION;
DELETE FROM account WHERE id= 1;
SAVEPOINT a; -- 设置保存点 
DELETE FROM account WHERE id= 2;
ROLLBACK TO a; -- 回滚到保存点 

视图

创建视图

语法:

create view 视图名
as
查询语句;
		CREATE VIEW myv1 
AS
SELECT last_name,
			 department_name,
			 job_title
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id 
JOIN jobs j ON j.job_id = e.job_id ;

修改视图

方式一:
create or replace view 视图名
as 
查询语句;

方式二:
alter view 视图名
as 
查询语句;

举例:

方式一:
CREATE OR REPLACE VIEW myv1 
AS
SELECT 
	department_name,
	job_title
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id 
JOIN jobs j ON j.job_id = e.job_id ;

方式二:
ALTER VIEW myv1
as
SELECT 
			 *
FROM
	employees ;

删除视图

语法:

drop view 视图名,视图名......;
drop VIEW myv1 ;

好了,今天的分享就到这里了,接下来我将分享一些关于MySQL部分的面试题,希望大家都能在MySQL面试中脱颖而出!

标签:语句,事务,视图,基础知识,job,MySQL,分享,id
From: https://www.cnblogs.com/cjybigdatablog/p/18342245

相关文章

  • mysql 两种重要的日志
    前言这个不用多说,两种重要的日志分别是redolog和binlog,这两种,下面分别来结束。正文先来redolog,redolog是innodb引擎特有的,运用了一种wal技术,全称是:write-aheadlogging.它的关键点就是先写日志,再写磁盘,也就是先写粉板,等不忙的时候再写账本。简单来说就是先写内存......
  • Linux基础知识
    shell定义shell是系统的用户界面,提供用户和内核交互操作的一种接口使用交互式命令行:等待用户输入一行一行执行shell脚本:写入一个文件,一起运行bashshell[root@localhost~]#[用户名@主机名目录名]权限标识目录名:光标所在目录,家目录:~权限标识:超级管理员权限:#,普通......
  • 分享圣诞树+雪人+全屏动效
    分享圣诞树+雪人+全屏动效创建时间:2024年8月4号分享之前学习老师发的几个小玩意一、圣诞树运行:点击该exe即可出来一棵圣诞树。退出:鼠标点击该圣诞树右键二、雪人运行:双击点开exe即可退出:和圣诞树一样、三、音乐:满满都是爱运行:双击打开,该程序对鼠标的轨迹也有影响......
  • navicat-mysql重置密码
    目录navicat-mysql重置密码1.Mysql8.0以下2.navicatformysql出现如下问题1.问题描述2.查看用户信息3.问题原因4.解决问题navicat-mysql重置密码1.Mysql8.0以下搜索命令提示符,以管理员身份进入。输入scquerymysql找到Mysql服务名称,然后输入netsotpmysql80(这个是sc......
  • 分享一个大佬写的界面跳转
    这是Prism框架开发者写的一个demo,我觉得有趣,就发出来让大家看看<StackPanel><StackPanelOrientation="Horizontal"><Buttonx:Name="AnimationButton"Click="AnimationButton_Click"Content="Animation"Background=&qu......
  • SAPUI5基础知识23 - 模型的种类(小结)
    1.背景在前序的学习中,我们学习了SAPUI5的MVC架构中的各个知识点,包括视图的设计,控制器的设计,以及模型的使用。在企业级应用程序中,对于数据的处理的需求是很大的,在学习更复杂的数据绑定方式之前,让我们再深挖下MVC架构中与数据处理关系最大的部分-模型。2.概览SAPUI5中......
  • mysql常用的查询
    mysql常用的查询建表末尾必加上ENGINE=InnoDBDEFAULTCHARSET=utf8跨表一列比较,多列查询SELECTsno,cno,rankfromscoreJOINgradeonscore.degree>low&&score.degree<upp;模糊查询,字符转化的筛选查询,分组统计查询SELECTcnofromscoreWHERECAST(cnoASchar)L......
  • 【源码分享】云夜卡V3.6.8_完整包去授权版
    V3.6.8上传模式新增可道云网盘新增自动清理日志机制新增购物车开关插件系统优化修复已知BUGV3.6.7新增定时任务重新对接失败订单新增订单列表内容一键去中文新增用户支持配置收货地址前台下单新增并发控制开通分站新增并发限制供货商商品加价重构(请供货商重新配置加价,若有......
  • 详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面
    数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系,比如:MySQL、Oracle、SQLServer等;非关系型数据库是以数据集的形式存......
  • 基于Java的少儿托管系统的设计与实现/毕业项目/课程设计/MySQL
     基于Java的少儿托管系统的设计与实现摘  要随着互联网技术的快速发展,无论是人们的生活还是工作,互联网技术都带来了很多的方便,人们通过互联网技术不仅能够提高工作效率还能够降低出错的几率。随着人们工作的忙碌,越来越多的家长选择放学后对孩子进行托管,但托管机构的......