mysql临时表共享_IT大叔忙里偷闲给大家带来mysql中临时表和正则表达式的分享

最近项目实在太忙,连着加了两个礼拜的班,所以造成了拖更,在这里给读者朋友说声抱歉,老韩一定会尽量挤出来时间给大家继续数据库的分享。今天分享的内容是mysql临时表和正则表达式,希望读者朋友能有所收获。

一、临时表;

临时表:MySQL用于存储一些中间结果集的表,临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

为什么要用临时表呢?比如要执行一些比较复杂的sql语句时候,往往一次查询并不能查询到我们需要的数据,这个时候就会用到临时表,如查询语句select * from (select * from student )a,这个查询语句中瓜号内部是一个结果集,后面跟别名a,这个a就相当于是一个临时表。

什么时候会用到临时表呢?

1、union查询;

2、使用聚合函数查询;

3、子查询;

4、semi-join(半连接);

5、group by 和 order by;

6、更新表;

……

临时表分为内存临时表和磁盘临时表,内存临时表顾名思义在内存中的表,当与mysql的连接断开之后,这个表的数据和结构就会被销毁,磁盘临时表在断开连接后数据会被清空,但是表的结构还是存在的。

创建内存临时表,标准语句为:CREATE TEMPORARY TABLE 内存表名 (字段) ENGINE = MEMORY;最后一个属性表示这个表为内存临时表,老韩的mysql版本为8.XXX最后一个关键字用engine,如果是5.5之前的版本这个地方要用type。

接下来举个例子;

语句:CREATE TEMPORARY TABLE laohanlinshi as select * from student,效果如图1:创建临时表,表名为laohanlinshi,内容是student表全部内容,相当于把student表复制一份,当我们关闭这个连接重新连接数据库的时候查询结果如图2所示,会发现这个内存临时表不存在了;

d7d72ba36dac7845953c3fb616145f80.png图1

51c29c60e30097a8e1dcf7344cfc1c89.png图2

磁盘临时表这里不做过多讲解,暂时了解即可。

二、正则表达式;

4ca3e7e4e98907de632bbaa6b1e16c7b.png正则模式

示例、查找student表中10-19岁的同学信息;

语句:select * from student where age REGEXP '^1',(这里只是来讲解一下正则的用法,不一定是最佳实践,当然可以使用别的方法来筛选。),使用关键字REGEXP,表示匹配后面的正则表达式。查询结果如下图所示:

0d180db9e459d83c09152da145170873.png筛选10-19的学生信息

读者朋友要戒骄戒躁,每天进步一点点,几个月后你会发现你真的很厉害了。上周跟着我干的一个小伙子已经去一个甲方企业做运维经理去了,非常好学的一个小伙子,毕业4年做到中层领导,也比较厉害了。

今天的分享就这两块,正则要求掌握,临时表不用深入研究,但是要知道。谢谢读者朋友的观看,如果觉得老韩分享的东西可以给你带来收获请点下关注,老韩感激不尽,你们每一次的关注、转发、收藏都是老韩持续更新的动力,谢谢观看,我们下期再见。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值