
数据库
茁壮成长的凌大大
事稍拂逆,便思不如我的人,则怨尤自消;心稍怠荒,便思胜似我的人,则精神自奋。
展开
-
数据库存储引擎及查询sql执行流程
数据库主要存储引擎myisam支持表级别的锁,不支持事务,读写不能并发进行,插入和查询会锁表,但因为直接存储了行数,则执行count更快,但是加上条件就不行了。innodb支持事务、支持行级锁表级锁两种粒度,支持XA两阶段提交协议,支持嵌套事务,并且支持读和写并发操作。memory存储在内存,一般用于临时表,读写速度快,如果重启会造成数据丢失。csv电子表格,数据以逗号分隔,不允许...原创 2020-09-06 19:19:38 · 513 阅读 · 0 评论 -
事务并发问题及事务隔离级别的学习
事务并发带来的三大问题脏读 如下图,左右两个事务A、B。事务A首先查询id=1的数据,得到age=16之后,事务B对id=1的数据,将age=16更新为age=18,然后事务A,再查询id=1的数据,这种在一个事务里边,多次读取同一条数据,该数据又是在其他事务中未提交的数据,同样的记录,但是得到的结果前后不一致,称为脏读。不可重复读 与脏读的差别在于不可重复读是事务B中已经提交了数据。 不可重复读针对的是更新和删除,即update、delete。因为修改和删除,是操作的当前数据,并且原创 2020-07-03 08:25:46 · 1559 阅读 · 0 评论 -
行转列方法 及 pivot函数使用问题
oracle 行转列方法 如果有这样的需求,数据库插入的有A表这样的结果,展示要变成B表这样的结果(下边的这个图是摘自别人的,我主要说pivot函数那种方式)对于这样的需求即需要行转列了。1、第一种即是大家常见的。这种方法也是别人的,我主要说后边的pivot函数那种方式select [品号],sum(case when [日期]='06-08' then [原创 2017-12-14 11:19:01 · 16846 阅读 · 4 评论 -
MYSQL索引的由来及实现原理
索引的概念索引是帮助高效获取数据的一种数据结构。索引是也可能是一种文件。(对于数据库来说是一种文件,但是索引在其他方面的应用有可能不是文件)索引的引入1.磁盘的一点概念 因为我们操作数据库查询数据,其实也是要到硬盘上读取文件,那么先引入硬盘的几个概念:柱面、磁道、扇区 。 如下图所示,是我们磁盘中的一个磁片的俯视图: 再加一张关于柱面的: 通过...原创 2018-03-09 22:17:38 · 2075 阅读 · 0 评论 -
oracle数据库判断某表是否存在
oracle数据库判断某表是否存在1、第一种sqlselect count(*) from user_tables where table_name =upper('表名') 这个是查询当前登录用户中的所有表中是否存在该表。注意表名区分大小写,如果参数不限制,那这里就必须要加上upper函数 。 效果如下: 2、第二种sqlSELECT COUNT(*) FROM...原创 2018-02-24 08:51:31 · 37157 阅读 · 0 评论 -
oracle 修改密码有效期及ORACLE-02376无效或冗余的资源异常解决
oracle 修改密码有效期及ORACLE-02376无效或冗余的资源异常解决oracle 修改密码有效期 由于Oracle11G的新特性所致,经常会遇到使用sqlplus登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期”等情况。 在Oracle 11G 创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录,提示“ORA-2...原创 2018-04-10 11:25:25 · 4736 阅读 · 0 评论 -
sql通过一张表的条件更新另一张表
常常遇到这种情况,两张表(表A和表B)存在某种关系,需要在这种关系的条件下,根据表A的某几个字段更新表B的某个字段。场景: 表A (sys_user)表,含有字段(xzcode,roleid,roleid_copy),分别表示行政区划代码、大角色id、详细角色id。 表B (u_role_copy)表,含有字段(xzcode,id,roleid),分别表示行政区划代码、id、大...原创 2019-04-08 19:39:53 · 5261 阅读 · 0 评论