2021
01-26
01-26
几个MySQL高频面试题的解答
前言: 在各类技术岗位面试中,似乎MySQL相关问题经常被问到。无论你面试开发岗位或运维岗位,总会问几道数据库问题。经常有小伙伴私信我,询问如何应对MySQL面试题。其实很多面试题都是大同小异的,提前做准备还是很有必要的。本篇文章简单说下几个常见的面试题,一起来学习下吧。1.什么是关系型数据库?谈谈你对MySQL的认识。这是一道基础题,考察面试者对数据库的了解程度,一般可以简单讲下自己的认知,有条理即可...
继续阅读 >
1.事务的特性(ACID)(1)原子性(Atomicity)。事务中所涉及的程序对数据库的修改操作要么全部成功,要么全部失败。(2)一致性(Consistency)。事务执行前和执行后来源和去向保持平衡。(3)隔离性(Isolation)。并发时每个事务是隔离的,相互不影响。(4)持久性(Durubility)。一旦事务成功提交,应该保证数据的完整存在。2.事务隔离级别(1)readuncommitted未提交读所有事务都可以看到没有提交事务的数据。(2)readc...
MySQL默认操作模式就是autocommit自动提交模式。这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行。我们可以通过设置autocommit的值改变是否是自动提交autocommit模式。通过以下命令可以查看当前autocommit模式mysql>showvariableslike'autocommit';+---------------+-------+|Variable_name|Value|+---------------+-------+|autocommit|ON|+---------------+-------+1rowinset(0.04...
一些查看数据库中事务和锁情况的常用语句查看事务等待状况:SELECTr.trx_idwaiting_trx_id,r.trx_mysql_thread_idwaiting_thread,r.trx_querywaiting_query,b.trx_idblocking_trx_id,b.trx_mysql_thread_idblocking_thread,b.trx_queryblocking_queryFROMinformation_schema.innodb_lock_waitswINNERJOINinformation_schema.innodb_trxbONb.trx_id=w.blocking_trx_idINNERJOINinformation_sc...
多个值合并展示现在我们有如图一到图二的需求怎么做?如下sql:SELECTid,GROUP_CONCAT(DISTINCTstr)asstrfromtestGROUPBYid相关知识点GROUP_CONCATGROUP_CONCAT([DISTINCT]要连接的字段[OrderBYASC/DESC排序字段][Separator‘分隔符'])多个值拆分展示现在我们的需求和第一个例子相反由图三到图四这里就稍微复杂了,首先对于str提前做了如图的处理,即字符+','的一对一对应处理,其次,因为mysql没有序列功能,所以我...
前言最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。建表createtabletest(colAvarchar(10)notnull,colBvarchar(10)null);向test表中插入数据插入colA为null的数据insertintotestvalues(null,1);此时会报错,因为colA列不能为null。插入colB为null的数据insertintotestvalues(1,null);发现插入成功。...