
---15.4 mysql
小师兄.
语言学习开发路上的一个初学者。
展开
-
MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。概述 相对其他数据库而言,MySQL的锁机制比较简单...转载 2019-12-10 16:50:00 · 303 阅读 · 0 评论 -
mysql 幻读的详解、实例及解决办法
事务隔离级别(tx_isolation)mysql 有四级事务隔离级别 每个级别都有字符或数字编号读未提交 READ-UNCOMMITTED | 0:存在脏读,不可重复读,幻读的问题读已提交 READ-COMMITTED | 1:解决脏读的问题,存在不可重复读,幻读的问题可重复读 REPEATABLE-READ | 2:解决脏读,不可重复读的问题,存在幻读的问题,默认隔离级别,使用...转载 2019-12-10 15:30:45 · 326 阅读 · 0 评论 -
MySQL事务的四种隔离级别总结
一、事务的四个基本要素(ACID)原子性:事务开始后所有操作,要么全部不做,要么全部做完;事务执行过程中出错,会回滚到事务开始前的状态,一个事务不可能只执行其中一部分操作。一致性:事务开始前和结束后,数据库的完整性约束没有被破坏;比如A想B转钱,A扣了钱,B也一定增加了钱。隔离性:同一时间,只允许一个事务请求同一数据,不同事务之间没有干扰;比如A正在从一张银行卡中取钱,这个过程中,B不能对这...转载 2019-12-10 15:26:42 · 181 阅读 · 0 评论 -
MySQL批量插入、批量更新及批量删除语句
摘要:1、批量插入 <insert id="insertBatch" parameterType="java.util.List"> insert into t_student(name, age, class) ...1、批量插入<insert id="insertBatch" parameterType="java.util.L...转载 2019-06-10 17:40:10 · 23466 阅读 · 2 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第...转载 2019-06-10 16:15:40 · 126 阅读 · 0 评论 -
SpringBoot整合JDBC数据库操作:批量添加/删除/修改数据
这篇文章主要讲解一下对数据的批量操作(批量增加,批量修改,批量删除).修改ArticleRepository类文件, 增加批量添加/删除/修改方法/*** 批量添加数据*/public int batchCreateArticle(final List<Article> articles) { String sql = "INSERT INTO articl...转载 2019-05-24 15:19:30 · 4940 阅读 · 0 评论 -
数据库学习(六)联合查询union
联合查询union一个翻译问题的解释:在mysql的手册中,将连接查询(Join)翻译为联合查询;而联合查询(union),没有明确翻译。但:在通常的书籍或文章中,join被翻译为“连接”查询;而union才被翻译为联合查询。基本概念将两个具有相同字段数量的查询语句的结果,以“上下堆叠”的方式,合并为一个查询结果。图示如下:可见:1,两个selec...原创 2019-01-29 17:37:03 · 1659 阅读 · 0 评论 -
数据库学习(五)子查询
子查询基本含义一个select语句,就是一个查询语句:select字段或表达式from数据源where XX条件判断;上述select部分,from部分,where部分,往往都是一些“数据”或数据的组合;比如:from部分,当然就是“表”,或“表的连接结果”,他们也是数据,只是通常为“表数据”;则,这些数据部分,也可以通过一种“预先”的查询结果来代替,比如...原创 2019-01-28 19:52:42 · 477 阅读 · 1 评论 -
数据库学习(四)连接查询
基本概念:就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;到底怎么连接?将每一个表的每一行数据两两之间相互对接起来,每次对接的结果都是连接结果的“一行”数据;示例:先看原始数据:然后,将他们进行“连接”:他们其实这样这样的方式连接起来的结果数据:这种没有条件的连接,也可以写成这样:select * from...原创 2019-01-22 20:11:08 · 299 阅读 · 0 评论 -
数据库学习(三)基本查询
基本查询基本语法形式select [all | distinct]字段或表达式列表 【from子句】【where子句】【group by子句】【having】【order by子句】 【limit子句】字段或表达式列表字段必然是来源于“数据源”(表);每个字段或表达式,都可以对其“取别名”:XX as别名from子句:就是数据源;where子句:是对数据源的每...原创 2019-01-22 20:05:54 · 314 阅读 · 0 评论 -
数据库学习(二)数据操作语言:
1、插入数据(增):insert into表名 (字段1,字段2,....)values (值a1,值a2,....),(值b1,值b2,....),(...);replace into表名 (字段1,字段2,....)values (值a1,值a2,....),(值b1,值b2,....),(...);insert into表名set字段1=值1,字段2=值2,......原创 2019-01-22 20:02:36 · 226 阅读 · 0 评论 -
数据库学习(一)三范式
数据库(表)设计3范式:第一范式(1NF):原子性,让每个数据不可再分;第二范式(2NF):唯一性(每行数据不重复),消除部分依赖;定义主键,就做到唯一性;部分依赖就是其他字段只依赖主键的“部分字段”。第三范式(3NF):独立性,消除传递依赖。主键--->字段A,字段B,字段C...又出现:字段A-->字段B此时就出现了传递依赖:主键---&...原创 2019-01-22 19:59:25 · 160 阅读 · 0 评论