MySQL
MySQL基础
蛋焊工
搬砖小学生
展开
-
MySQL和Mongo使用场景
Mongo使用场景1)表结构不明确且数据量不断变大 (百万级别)2)可扩展分片集群3)不需要JOIN操作的MySQL使用场景1)表结构明确且数据量小2)需要使用JOIN操作的原创 2021-08-09 15:25:50 · 377 阅读 · 0 评论 -
Redolog与Binlog为什么需要两阶段提交?
MySQL事务提交的时候,需要同时完成redo log和binlog的提交,为了保证两个日志的一致性,需要用到两阶段提交数据库两阶段提交的流程假设执行一条SQL语句:update T set c=c+1 where ID=2;流程如下图所示(图片来自MySQL实战45讲):两阶段流程从图中可以看出,在最后提交事务的时候,需要有3个步骤:写入redo log,处于prepare状态 写binlog 修改redo log状态为commit ps: redo lo.原创 2021-08-03 12:28:52 · 548 阅读 · 0 评论 -
MySQL关于时间范围内重合的数据查询
2个时间:a_start, a_endb_start, b_end公式:a_start <= b_end and a_end >= b_startMybatis条件 <if test="onlineTime != null and offlineTime != null" > <![CDATA...原创 2020-03-09 20:24:25 · 1317 阅读 · 0 评论 -
Mysql的一致性非锁定读和一致性锁定读
一致性非锁定读一致性非锁定读指的是:要读取的行被加了X锁(排它锁),这时候其他事务读操作不会等待行上锁的释放,而是会读取行的一个快照数据。如下图所示:需要注意的一些点:①每行记录可能有多个版本②在事务隔离级别READ COMMITTED (简写RC)和 REPEATABLE READ(简写RR)下,InnoDB存储引擎使用一致性非锁定读。但是对快照的定义却不相同。在RC下,...原创 2019-09-12 18:15:38 · 493 阅读 · 0 评论 -
MySQL查询本周、上周、本月、上个月份数据的sql代码
查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 查询上周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(subm...转载 2018-08-08 18:18:11 · 277 阅读 · 0 评论 -
不可重复读与幻读的区别
不可重复读与幻读的区别不可重复读的重点是修改:同样的条件, 你读取过的数据, 再次读取出来发现值不一样了例如:在事务1中,Mary 读取了自己的工资为1000,操作并没有完成 con1 = getConnection(); select salary from employee empId ="Mary"; 在事务2中,这时财务人员修改了Mary的工资为2...原创 2018-07-24 16:04:26 · 727 阅读 · 0 评论 -
Mysql事务与四种事务隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。 3、隔离性(Isolation):同一时...原创 2019-01-25 10:34:38 · 191 阅读 · 0 评论 -
mysql函数大全
mysql函数大全一、数学函数ABS(X) 返回X的绝对值BIN(X) 返回X的二进制(OCT返回八进制,HEX返回十六进制)CEILING(X) 返回大于X的最小整数值EXP(X) 返回值E(自然对数的底)的X次方FLOOR(X) 返回小于X的最大整数值GREATEST(X1,X2,...,XN)返回集合中最大的值LEAST(X1,X2,...,XN) ...原创 2018-12-07 11:07:17 · 124 阅读 · 0 评论 -
MySQL汇总
把另外一张表数据导入另外一张表中INSERT INTO user_appid(id,user_id,appid,create_time) (SELECT (SELECT UUID()),a.id,a.appid,a.create_time FROM `user` a WHERE appid !='') 其中selectuuid(),会自动生成uuid...原创 2018-06-28 18:59:45 · 368 阅读 · 0 评论 -
InnoDB和MyISAM区别?
SELECT substring_index( substring_index( a.menus, ',', b.help_topic_id + 1 ), ',' ,- 1 ) idFROM (SELECT menus FROM role) aJOIN mysql.help_topic b ON b.help_topic_id < ( length...原创 2018-05-24 19:06:23 · 1875 阅读 · 0 评论 -
MySQL扩容方案
SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'shopping' GROUP BY table_schema;shopping是数据库名称原创 2018-03-22 18:44:58 · 1702 阅读 · 0 评论 -
MySQL主从复制原理
select count(COLUMN_NAME) from information_schema.`COLUMNS` --where TABLE_SCHEMA = 'xerp' -- 数据库名xerpand TABLE_NAME = 'sdb_ome_orders' -- 表名sdb_ome_orders原创 2018-03-22 15:57:39 · 890 阅读 · 0 评论 -
导出mysql数据库的数据字典
SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注 FROM INFORMATION_SCHEMA.COLUMNSwhere-- shopping为数...原创 2018-03-22 15:04:06 · 1082 阅读 · 0 评论 -
Navicat for MySQL破解
下载破解补丁,链接: https://pan.baidu.com/s/1mh6GwJY 密码: kgvv 。亲测windows7 64bit下Navicat for MySQL 11.2.15版本成功破解,如果链接失效也可自行百度。 下载完成后解压出PatchNavicat.exe文件复制到Navicat for MySQL目录下,双击PatchNavicat.exe运行(必须在关闭N原创 2017-12-22 14:37:55 · 1176 阅读 · 0 评论 -
Windows安装Mysql时出现requires .NET Framework4.0
出现如下的提示 安装.NET Framework 4.0软件,可以从以下地址下载http://dl1sw.baidu.com/soft/9b/15910/Microsoft.NET.exe?version=585709662原创 2017-12-22 11:49:22 · 2422 阅读 · 0 评论