MySQL
<br>
<center><a href="https://www.jianshu.com/u/12911fc0afc5"><b><font color="red">欢迎关注个人简书《一个程序猿的白日梦》</font></a></center>
<br>
<center><img src="https://img-blog.csdnimg.cn/20191022141206232.jpg" width="139" height="139" title="公众号:一个程序猿的白日梦"></center>
<br>
<center>欢迎扫码关注公众号“一个程序猿的白日梦”(时常放干货)</center>
<br>
<center><b><font color="red">From Zero To Hero</font></b></center>
<br>
方才兄
欢迎关注公众号【方才编程】
展开
-
MySQL 性能优化神器 Explain 使用分析
写在前面:该博文完全copy于大神,用于资料备份!附上原文链接:https://segmentfault.com/a/1190000008131735小编在此感谢大神的分享!如有侵权,请联系删除。--------------------------------------------------------------------------------------------目录...转载 2019-04-29 20:33:07 · 261 阅读 · 0 评论 -
MyBatis逆向工程使用详解
目录一、逆向工程简介二、使用详解1、下载依赖包2、随意创建一个项目3、generator文件4、执行xml文件,生成代码一、逆向工程简介mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂...原创 2019-08-15 15:55:11 · 918 阅读 · 0 评论 -
mybatis获取自增主键——insert主键返回
目录一、使用JDBC获取自增的主键1、sql语句内容2、属性注意点3、mybatis-config.xml的内容二、使用SelectKey返回主键的值1、sql语句如下2、对应属性解释一、使用JDBC获取自增的主键1、sql语句内容 <insert id="insert" parameterType="Report" useGeneratedKe...原创 2019-07-16 13:10:03 · 802 阅读 · 0 评论 -
MySQL的乐观锁&悲观锁
目录一、悲观锁(Pessimistic Lock)1、定义2、实现3、使用场景举例:二、乐观锁(Optimistic Lock)1、定义2、实现:3、使用场景举例:建议阅读文献:一、悲观锁(Pessimistic Lock)1、定义悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操...原创 2019-06-24 23:09:49 · 155 阅读 · 0 评论 -
数据库连接池的原理(与传统连接机制的对比)、作用与使用步骤
目录一、传统的连接机制与数据库连接池的运行机制区别写在前面:为什么在连接数据库时要使用连接池1、不使用连接池流程2、使用连接池流程2.1连接池的作用2.1数据库连接池的工作原理2.3 常见连接池介绍二、连接池(Druid)的使用1、使用步骤1.1 定义配置文件 druid.properties1.2 编程实例1.3 自定义 jdbc工具类一、...原创 2019-06-17 22:29:51 · 1420 阅读 · 0 评论 -
MySQL优化详解(一篇用来背诵的面试答案)
对于MySQL优化,首先应该选择合适的存储引擎,一般常用的是MyISAM与INNODB。(myisam不支持事务和外键,只支持表级锁,存储快,效率高,没有事务日志,故障恢复数据较麻烦;innodb支持事务、外键、行级锁、表级锁,有事务日志,恢复数据较方便,它需要花费资源去处理事务,所以效率比myisam低,储存比较慢。)基于myisam和innodb各自的特点,需要事务支持,更新操作较多的项目,我...原创 2019-05-13 16:43:53 · 1464 阅读 · 0 评论 -
MySQL——存储过程详解及实例分析
目录一、储存过程简介1、什么是存储过程2、存储过程优缺点3、存储过程入门程序4、在idea中如何调用储存过程?二、存储过程编程1、存储过程的变量2、存储过程中的参数3、选择结构if4、分支结构case5、3个循环结构6、存储过程的异常处理7、MySQL游标三、存储过程实例讲解1、案例1:取消订单2、案例2:根据商品分类获...原创 2019-05-11 16:27:49 · 6727 阅读 · 1 评论 -
MySQL——触发器trigger详解
1、什么是触发器 触发器(trigger):触发器是一种特殊的事务可以监视某种数据的操作(insert update delete)并触发相关操作(insert update delete),它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。2、应用场景1)向一张表中添加或者删除记录时,...原创 2019-05-11 11:54:59 · 858 阅读 · 0 评论 -
MySQL——视图view
一、视图简介1.什么是视图通俗的讲,视图就是一条SELECT语句执行后返回的结果集。就是为了隐藏一部分数据或者减少联表查询而创建的一张虚拟表2.视图的特性视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);3.视图的作用方便操作,特别是查询操作,减...原创 2019-05-11 11:38:47 · 327 阅读 · 0 评论 -
MySQL——mysql分组及多表查询基础
- DQL 查询:select *from 表明 where 条件;order by 属性 排序方式 :排序asc:升序 (默认)desc:降序---例子:按员工薪资降序排序 select *from employee where job=‘M’ order by salary desc;注意:如果是多条件排序,那么只有当第一个条件相同的时候才会 按照第二个条件排序- 聚合函...原创 2019-02-14 16:37:47 · 397 阅读 · 0 评论 -
MySQL——基础常用指令
数据库的介绍:简单:数据库就是存储和管理数据的容器(仓库)严格:数据库是按照某种数据结构来存储,组织、管理数据的容器数据库中的数据以表的形式存储。常见的数据库:mysql:开源免费的小型数据库,被Oracle收购 mysql6.x以后开始收费Oracle:收费的大型数据库DB2:IBM公司出的数据库,银行系统SqlServer:MS公司,收费的中型数据库SQlite:小型...原创 2019-02-13 20:41:06 · 173 阅读 · 0 评论 -
mysql:insert并发问题(on DUPLICATE KEY UPDATE)
目录一、insert,存在则更新,不存在则新增1、表结构如下:2、sql语句3、批量插入,某一条记录存在,则更新;其余进行新增二、insert,存在则不进行任何操作;不存在则新增1、sql语句三、总结小编最近在项目中,遇到了一个问题,因为并发insert造成了脏数据,主要场景是:根据查询数据库的结果:存在,则进行更新;不存在,则进行新增; 还有一个...原创 2019-09-12 16:52:17 · 14714 阅读 · 3 评论