MySQL数据库
流行的数据库
编程写手
路漫漫其修远兮,吾将上下而求索!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringBoot中使用Mybatis访问MySQL数据库(使用xml方式)
当前环境:JDK1.8、MAVEN 3.6.1、idea 1.导入依赖 当前pom文件如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versi...原创 2019-08-22 17:25:20 · 1853 阅读 · 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 · 369 阅读 · 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 · 258 阅读 · 0 评论 -
MySQL之索引优化问题
1.如何使用索引 当前案例中使用的数据库为:sakila-db.zip 1.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 · 207 阅读 · 0 评论 -
MySQL之优化分析
1.使用show status查看各种SQL的执行频率 1.1 使用语法 show [session|global] status,不写session或者global默认使用session 1.2 查看执行频率 show status like 'Com_%'; 针对所有的存储引擎的 Com_select 执行SELECT操作的次数,一次查询只累加一次 ...原创 2019-09-15 15:11:17 · 250 阅读 · 0 评论 -
MySQL之分区
1.简介 分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。 逻辑上只有一个表或一个索引,但实际上这个表可能由数10个物理分区对象组成,每个分区都是一个独立的对象,可以独立处理,可以作为表的一部分进行处理。 就是将一张表(数据量非常大的表)按照一定的规则划分称几块,分开管理 2.分区的优点 和单个磁盘或者文件系统分区相比,可以存储更多数据。 优化查询。在Where 子...原创 2019-09-14 13:16:53 · 457 阅读 · 0 评论 -
MySQL之分布式事务
1.分布式事务原理 在MySQL中,使用分布式事务的应用程序涉及一个或多个资源管理器和一个事务管理器 1> 资源管理器(RM) 用于提供通向事务资源的途径。数据库服务器是一种资源管理器。该管理器必须可以提交或回滚由RM 管理的事务。 2> 事务管理器(TM)用于协调作为一个分布式事务一部分的事务。TM于管理每个事务的RMs进行通信。在一个分布式事务中,各个单个事务均是分布式事务的“分...原创 2019-09-13 15:57:48 · 693 阅读 · 0 评论 -
MySQL之锁定语句
1.锁定语句 MySQL支持对MyISAM和MEMORY存储引擎的表进行表级锁定,对BDB存储引擎的表进行页级锁定,对INNODB存储引擎的表进行行级锁定。 默认情况下,表锁和行锁都是自动获得,不需要额外的命令,但是在有的情况下,用户需要明确的进行锁表或者进行事务的控制,以便确保整个事务的完整性。 MySQL中的锁就相当于Java线程中的锁,当一个表被添加锁时,其他要获得这个锁的线程需要等待解...原创 2019-09-13 11:44:01 · 1278 阅读 · 0 评论 -
MySQL之触发器
1.简介 触发器主要用于在插入数据前后、修改数据前后、删除数据前后的时候执行的SQL操作 2.创建触发器 注意:当前的触发器只能用于在永久表种存在,不能用在临时表 当前的mytest表 当前的my_log日志表 创建添加数据前和添加数据后的触发器 DELIMITER // CREATE TRIGGER before_insert_log BEFORE INSERT ON mytest ...原创 2019-09-12 17:24:14 · 516 阅读 · 1 评论 -
MySQL之事件调度器
1.简介 事件调度器就是按照自定义的事件周期触发某种操作,类似于JAVA中的线程一样! 2.创建事件调度器 语法: CREATE EVENT 使劲按名称 ON SCHEDULE 指定时间(current_timestamp + INTERVAL 1 HOUR(每隔一小时执行一次)) -- 通过ON SCHEDULE 子句指定事件在何时执行 DO -- 通过DO子句指定要执行的具体操作 ...原创 2019-09-12 16:08:26 · 384 阅读 · 0 评论 -
MySQL之流程控制
1.if语句 获得两个数中最大的数 DELIMITER // CREATE FUNCTION getMax(num1 INT,num2 INT) RETURNS INT BEGIN IF num1>num2 THEN RETURN num1; ELSEIF num1=num2 THEN RETURN num1; ELSE RETURN num2...原创 2019-09-11 16:33:16 · 466 阅读 · 0 评论 -
MySQL之定义条件和处理以及光标的使用
1.定义条件 就是定义一个条件用来处理特定的异常(mysql的异常或者错误码)或者特定的值,然后就可以处理当前声明的异常名称 2.条件的处理 就是处理异常,对不同的异常采用不同的处理 3.光标的使用 就是使用一个对象用来迭代,需要配合当前的repeat标签来一起使用 声明光标 DECLARE 光标名称 CURSOR FOR 查询语句 打开光标 OPEN 光标名称 迭代光标(取出光标中的内容)...原创 2019-09-11 15:33:32 · 416 阅读 · 0 评论 -
MySQL之定义变量
1.定义用户变量(或者赋值) set @变量名=值 -- 创建自定义用户变量,当当前的用断开连接的时候就会消失 set @value=1; 2.查询用户变量值 select @变量 -- 查询定义的数据 select @value; 3.在当前的存储过程和函数中使用变量 定义变量: declare 变量名[,变量名2...] 变量类型 [default 默认值] 赋值变量: set 变量名1...原创 2019-09-10 19:31:52 · 37228 阅读 · 3 评论 -
MySQL之存储过程和函数
MySQL版本:5.5.62-LOG 1.什么是存储过程和函数? 相同点: 存储过程和函数是事先经过编译并存储到数据库中的一段SQL语句的集合,简化应用开发人员的工作,减少数据在数据库和应用服务器之间的传输,提高数据处理的效率。 不同点: 存储过程和函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参数可以使用IN、OUT、INOUT类型,而函数的参数只能是IN类型的。如果有函数从其...原创 2019-09-10 17:12:17 · 313 阅读 · 0 评论
分享