数据库学习
hf : )
就当做学习笔记吧
展开
-
数据库 SQL 行转列
学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列。数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键。本文以MySQL为基础,其他数据库会有些许语法不同。数据库数据:处理后效果:方法一:SELECT DISTINCT a.name,(SELECTscore FROM grade b WHERE a.name=b.name AND b.course...转载 2018-05-04 10:27:26 · 235 阅读 · 0 评论 -
MySQL Innodb和MyISAM的区别
Innodb引擎Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎不支持FULLTEXT类型的索引,而且它没有保存表的行数,当SELECT COUNT(*) FROM...转载 2018-05-04 10:26:29 · 95 阅读 · 0 评论 -
数据库 事务隔离级别
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。1.更新丢失:两个事务都同时更新一行数据,一个事务对数据的更新把另一个事务对数据的更新覆盖了。这是因为系统没有执行任何的锁 操作,因此并发事务并没有被隔离开来。2.脏读:一个事务读取到了另一个...转载 2018-05-12 15:33:05 · 188 阅读 · 0 评论 -
数据库 锁机制
https://www.cnblogs.com/houan/p/6253293.htmlhttps://blog.csdn.net/samjustin1/article/details/52210125一、为什么需要了解锁1.1 死锁问题1.2 并发问题导致的不正确数据的读取和存储,破坏数据一致性的丢失更新脏读不可重复读幻读二、锁的分类2.1 数据库维度共享锁(Shared lock,读锁):用于...转载 2018-05-15 19:21:40 · 140 阅读 · 0 评论 -
数据库 MySQL索引
面试的时候经常问到数据库,一谈到数据库就离不开索引,特此学习一波索引。这个博客写得很全:https://blog.csdn.net/suifeng3051/article/details/52669644数据库索引1.索引的意义 没有索引的话,查询数据时数据库就得进行全表扫描,数据量一大起来效率可想而知。2.索引的实现 2.1 数据结构的选取 目前大部分数据库系统及文件系统都采用...转载 2018-05-23 20:13:03 · 211 阅读 · 0 评论 -
PostgreSQL与MySQL对比
PostgreSQL与MySQL对比都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。PostgreSQL :免费原则:对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会日益提供。而随着硬件性能的...转载 2019-03-10 13:42:26 · 2576 阅读 · 0 评论 -
MongoDB 聚合
例子: 找出发表文章量前五的作者sql: select author,count(1) from articles group by author order by count desc limit 5;mongo: db.articles.aggeregate( {'$project':{'author':1}...原创 2019-03-21 13:26:08 · 145 阅读 · 0 评论 -
数据库 MySQL查不到更新后的数据
今天做毕设的时候碰到一个问题:进程A往MySQL数据库表里添加了一条记录,打开Navicat也能看到,但是,调用Django的接口怎么也查不到记录。重启一下Django的服务,发现又能够正常地读取记录...可能原因:1.读了缓存(经排查,不是)2.数据库隔离级别导致解决办法:1.修改数据表引擎(亲测好使)2.修改数据库隔离级别(不推荐)3.使用新的数据库连接查询...转载 2019-04-17 14:29:34 · 2929 阅读 · 1 评论