一起重新开始学大数据-MySQL篇-Day36-case值替换,备份表,稍微了解一下视图,事务

本文主要是介绍一起重新开始学大数据-MySQL篇-Day36-case值替换,备份表,稍微了解一下视图,事务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一起重新开始学大数据-MySQL篇-Day36-sql(4)

在这里插入图片描述

case:值的替换

格式:

case when 条件 thentrue的结果 [when 条件 thentrue的结果] [elsefalse的结果] end

背景:发现查询性别的时候,写的是0或1

在这里插入图片描述

解决:使用case,进行值得替换

SELECT name, CASE WHEN sex=1  THEN '女' ELSE '男' END AS 性别 FROM students;

在这里插入图片描述

从其他表加载数据(备份,复制)

格式1:

create table 表名 as 查询语句;

格式2:

insert into 表名 查询语句;

注意:

字段属性数据类型和其他表保持一致

CREATE TABLE 名单 AS SELECT id,name FROM students;
INSERT INTO 名单 SELECT id,name AS 姓名 FROM students;

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

视图:

由查询结果得到的一张虚拟表(临时表,虚表),虚拟表和基本表有一对一和一对多的关系

创建:

create view 视图名称 as 查询语句
CREATE VIEW 名单视图 AS SELECT id,name FROM students;
CREATE VIEW 信息名单 AS SELECT 名单.*,students.age,students.sex FROM 名单 LEFT JOIN students ON 名单.id=students.id;

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

一对一(数据和基本表一样):增删改查

一对一(数据由基本表聚合):

一对多(数据由基本表聚合):

一对多(数据由连表联查):查改

注意:虚拟表不存储任何数据,数据存储在基本表中,基本表当中数据发生改变虚拟表中的数据也能发生改变创建视图,查询语句中不能出现子查询(不能作为一张表,可以作为结果进行筛选),把子查询作为视图之后再创建视图

查询视图结构:

desc 视图名称;
show create view/table 视图名称;
desc 信息名单;
SHOW CREATE VIEW 信息名单;

在这里插入图片描述

删除视图:

drop view 视图名称;
DROP VIEW 名单视图;

在这里插入图片描述

执行计划

查询语句遵循顺序:from–where–group by–having–select–order by

from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by按照什么样的顺序来查看返回的数据

索引

定义

索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多如果.表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间

添加:

alter table 表名 add index 索引名称(字段);

删除:

alter table 表名 drop index 索引名称;

注意:每个字段都可以添加索引

主键默认含有索引
不要每个字段都添加索引(索引也需要消耗资源),只需要给常用字段添加索引

事务:批处理,保证多个sql语句一起执行成功或一起执行失败(回滚撤销当前操作)

什么是是事务?

首先,什么是事务?事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子),不可分割,要么都执行,要么回滚(rollback)都不执行。
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
MySQL 中只有使用了Innodb 数据库引擎的数据库或表才支持事务。
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理 insert,update,delete 语句

事务的特性:

原子性(A):事务是最小单位,不可再分
一致性(c ):事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
隔离性(I):事务A和事务B之间具有隔离性
持久性(D):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)

开始事务:

begin;

回滚事务:

rollback;

提交事务:

commit;

结束事务:

end;

注意:

没有commitend之前,事务中的所有操作都是临时的(在缓存中的)
commitend之后,把这些临时的(在缓存中的)数据提交到原始数据中进行修改
end默认执行commit;

|
|
|
|
|

上一章-一起重新开始学大数据-MySQL篇-Day35-练习题

下一章-MySQL篇-Day37-sql(5)-shell操作MySQL,java操作MySQL、附带JDBC的NullPointerException

|
|
|
|

听说长按大拇指👍会发生神奇的事情呢!好像是下面的画面,听说点过的人🧑一个月内就找到了对象的💑💑💑,并且还中了大奖💴$$$,考试直接拿满分💯,颜值突然就提升了😎,虽然对你好像也不需要,是吧,吴彦祖🤵!
|

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

这篇关于一起重新开始学大数据-MySQL篇-Day36-case值替换,备份表,稍微了解一下视图,事务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871495

相关文章

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统