![](https://img-blog.csdnimg.cn/20190910163321207.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL数据库
流行的数据库
编程写手
路漫漫其修远兮,吾将上下而求索!
展开
-
SpringBoot中使用Mybatis访问MySQL数据库(使用xml方式)
当前环境:JDK1.8、MAVEN 3.6.1、idea1.导入依赖当前pom文件如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versi...原创 2019-08-22 17:25:20 · 1761 阅读 · 0 评论 -
MySQL之常见的SQL优化
1. 大批量的数据插入对于MYISAM存储引擎的表:通过load命令导入数据的时候,通过取消键提高导入速度ALTER TABLE 表名 DISABLE KEYS;//通过load 命令加载数据:load data infile '文件路径' into table 表名;ALTER TABLE 表名 ENABLE KEYS;对于INNODB存储引擎的表通过load导入数据的时候...原创 2019-09-19 17:58:31 · 254 阅读 · 0 评论 -
MySQL之两种优化表的方法
1.定期分析表创建mytest表CREATE TABLE mytest(id INT PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,money DOUBLE NOT NULL)使用语法:例如分析mytest表2.检查表使用语法检查mytest表3.检查视图发现问题创建视图create view v...原创 2019-09-18 11:55:27 · 181 阅读 · 0 评论 -
MySQL之索引优化问题
1.如何使用索引当前案例中使用的数据库为:sakila-db.zip1.1 正常的使用主键索引当前customer表中的索引EXPLAIN SELECT * FROM customer WHERE customer_id=1;-- rows 326 key_len=1这种一般都是主键索引的等值1.2 在and条件中使用在and前面未使用索引EXPLAIN SELECT...原创 2019-09-17 10:58:17 · 134 阅读 · 0 评论 -
MySQL之优化分析
1.使用show status查看各种SQL的执行频率1.1 使用语法show [session|global] status,不写session或者global默认使用session1.2 查看执行频率show status like 'Com_%'; 针对所有的存储引擎的 Com_select 执行SELECT操作的次数,一次查询只累加一次 ...原创 2019-09-15 15:11:17 · 187 阅读 · 0 评论 -
MySQL之分区
1.简介分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。逻辑上只有一个表或一个索引,但实际上这个表可能由数10个物理分区对象组成,每个分区都是一个独立的对象,可以独立处理,可以作为表的一部分进行处理。就是将一张表(数据量非常大的表)按照一定的规则划分称几块,分开管理2.分区的优点和单个磁盘或者文件系统分区相比,可以存储更多数据。优化查询。在Where 子...原创 2019-09-14 13:16:53 · 347 阅读 · 0 评论 -
MySQL之分布式事务
1.分布式事务原理在MySQL中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器1> 资源管理器(RM) 用于提供通向事务资源的途径。数据库服务器是一种资源管理器。该管理器必须可以提交或回滚由RM 管理的事务。2> 事务管理器(TM)用于协调作为一个分布式事务一部分的事务。TM于管理每个事务的RMs进行通信。在一个分布式事务中,各个单个事务均是分布式事务的“分...原创 2019-09-13 15:57:48 · 627 阅读 · 0 评论 -
MySQL之锁定语句
1.锁定语句MySQL支持对MyISAM和MEMORY存储引擎的表进行表级锁定,对BDB存储引擎的表进行页级锁定,对INNODB存储引擎的表进行行级锁定。默认情况下,表锁和行锁都是自动获得,不需要额外的命令,但是在有的情况下,用户需要明确的进行锁表或者进行事务的控制,以便确保整个事务的完整性。MySQL中的锁就相当于Java线程中的锁,当一个表被添加锁时,其他要获得这个锁的线程需要等待解...原创 2019-09-13 11:44:01 · 1076 阅读 · 0 评论 -
MySQL之触发器
1.简介触发器主要用于在插入数据前后、修改数据前后、删除数据前后的时候执行的SQL操作2.创建触发器注意:当前的触发器只能用于在永久表种存在,不能用在临时表当前的mytest表当前的my_log日志表创建添加数据前和添加数据后的触发器DELIMITER //CREATE TRIGGER before_insert_log BEFORE INSERTON mytest ...原创 2019-09-12 17:24:14 · 435 阅读 · 1 评论 -
MySQL之事件调度器
1.简介事件调度器就是按照自定义的事件周期触发某种操作,类似于JAVA中的线程一样!2.创建事件调度器语法:CREATE EVENT 使劲按名称 ON SCHEDULE 指定时间(current_timestamp + INTERVAL 1 HOUR(每隔一小时执行一次)) -- 通过ON SCHEDULE 子句指定事件在何时执行 DO -- 通过DO子句指定要执行的具体操作...原创 2019-09-12 16:08:26 · 273 阅读 · 0 评论 -
MySQL之流程控制
1.if语句获得两个数中最大的数DELIMITER //CREATE FUNCTION getMax(num1 INT,num2 INT)RETURNS INTBEGIN IF num1>num2 THEN RETURN num1; ELSEIF num1=num2 THEN RETURN num1; ELSE RETURN num2...原创 2019-09-11 16:33:16 · 374 阅读 · 0 评论 -
MySQL之定义条件和处理以及光标的使用
1.定义条件就是定义一个条件用来处理特定的异常(mysql的异常或者错误码)或者特定的值,然后就可以处理当前声明的异常名称2.条件的处理就是处理异常,对不同的异常采用不同的处理3.光标的使用就是使用一个对象用来迭代,需要配合当前的repeat标签来一起使用声明光标DECLARE 光标名称 CURSOR FOR 查询语句打开光标OPEN 光标名称迭代光标(取出光标中的内容)...原创 2019-09-11 15:33:32 · 359 阅读 · 0 评论 -
MySQL之定义变量
1.定义用户变量(或者赋值)set @变量名=值-- 创建自定义用户变量,当当前的用断开连接的时候就会消失set @value=1;2.查询用户变量值select @变量-- 查询定义的数据select @value;3.在当前的存储过程和函数中使用变量定义变量:declare 变量名[,变量名2...] 变量类型 [default 默认值]赋值变量:set 变量名1...原创 2019-09-10 19:31:52 · 36685 阅读 · 3 评论 -
MySQL之存储过程和函数
MySQL版本:5.5.62-LOG1.什么是存储过程和函数?相同点:存储过程和函数是事先经过编译并存储到数据库中的一段SQL语句的集合,简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输,提高数据处理的效率。不同点:存储过程和函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参数可以使用IN、OUT、INOUT类型,而函数的参数只能是IN类型的。如果有函数从其...原创 2019-09-10 17:12:17 · 244 阅读 · 0 评论