MySQL数据库
文章平均质量分 90
Java程序源
多线程栏,所有的文章、测试样例均来自“实战·JAVA高并发程序设计”的个人总结,文章内有书单链接。博客文章均来自职业生涯总结。
展开
-
Mysql分区表的原理和优缺点以及注意点
1.分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。在分区表上的操作按照下面的操作逻辑进行:select查询:当查询一个分区表的时候,分区层先打开并锁住所有的底层表,优化器判断是否可以过滤部分分区原创 2021-02-03 00:04:51 · 828 阅读 · 0 评论 -
Mysql分区表概述、分区类型、分区管理
一、分区概述分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。分区有利于管理非常大的表。MySQL分区的优点主要包括以下4个方面:1、和单个磁盘或者文件系统相比,可以存储更多的数据2、优化查询。where子句包含分区条件时,可以只扫描对应分区,缩小了查询范围。同时在涉及count()和sum()等聚合函数时,可以在多个分区上并行处理。3、对于已经过期或不需要的数据,可以通过删除分区快速删除。4、跨多个磁盘来分散数据查询,以获得更大的查询吞吐量。创建分区表:mysql&原创 2021-02-02 23:57:45 · 724 阅读 · 0 评论 -
mysql 5.7版本1055错误处理办法,不用重启数据库!
关于mysql 1055的异常处理记录,ONLY_FULL_GROUP_BY 是 group规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行.这里我执行的是group by操作。select * from order group by user_id网上方法很多,好多也都是修改mode然后重启,但是有的时候数据库根本没办法重启,比如生产环境...原创 2019-10-07 10:27:21 · 381 阅读 · 1 评论 -
MySQL求时间差函数:timediff、timestampdiff、datediff
 一、时间差函数:timestampdiff 语法:timestampdiff(interval, datetime1,datetime2) 结果:返回(时间2-时间1)的时间差,结果单位由interval参数给出。frac_second 毫秒(低版本不支持,用second,再除于1000)second 秒minute 分钟hour 小时day 天week 周mo...转载 2018-12-13 13:56:15 · 11983 阅读 · 0 评论 -
MYSQL常见运算符和函数
字符函数 (1)CONCAT():字符连接 SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL SELECT CONCAT (first_name,last_name) AS fullname FROM test; (2)CONCAT_WS():使用指定的分隔符进行字符连接,(第一个位置指定分隔符,后面的为分割的...转载 2018-10-09 15:20:10 · 302 阅读 · 0 评论 -
mysql中int(11)长度
mysql中int(1)和int(11)区别呢,按理来讲int定义之后长度不受我们设置的限制了,那么mysql中int(1)和int(11)区别是什么呢?mysql字段定义中INT(x)中的x仅仅指的是显示宽度。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。所以x的定义与存储空间没有任何关系都是...原创 2018-04-20 11:04:04 · 16231 阅读 · 0 评论 -
获取年、月、周、日等第一天和最后一天日期
当年第一天:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); 当年最后一天:SELECT concat(YEAR(now()),’-12-31’); 当前week的第一天:select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY...原创 2018-03-02 11:53:32 · 811 阅读 · 0 评论 -
mysql数据库设置大小写敏感
java向数据库插入数据时的错误: Duplicate entry ‘数据’ for key ‘字段名’ 。 这是因为该字段设置了唯一索引,所以重复插入数据报错,但是用这条数据查的时候却并没有重复原因在于mysql没有区分数据的大小写,误以为重复,故此需要我们设定大小写敏感。1、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写; 2、用root帐号登录后,在/e...原创 2018-03-07 14:40:55 · 2312 阅读 · 0 评论 -
XML中常用转义符
编写XML代码常用转译符:&(逻辑与) & >(大于) > "(双引号) " XML实体中不允许出现"&",""等特殊字符,否则XML语法检查时将出错,如果编写的XML文件必须包含这些字符,则必须分别写成"&","<",">"再写入文件中。例如,如果在XML文档中使用类似"在读取的时候,解析器会自动将其转换回原创 2018-01-19 11:20:31 · 18522 阅读 · 0 评论 -
mysql 的 find_in_set 函数使用方法
今日又发现了一大神技!那就是 find_in_set 函数!大家都知道SQL中有 in 的用法,也有like ,但是更有 find_in_set !此类方法主要用于where条件中,比如老方法:select * from table_a where id in ('1','2','3','4')这个时候我们或许可以查出来多条信息,但是有的时候这么写是不行的,就需要我们用fo原创 2018-01-13 19:39:53 · 2958 阅读 · 0 评论 -
INSERT ... ON DUPLICATE KEY UPDATE
向数据库插入记录时,有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是insertOrUpdate操作。这种控制可以放在业务层,也可以放在数据库层,大多数数据库都支持这种需求,如Oracle的merge语句,再如本文所讲的MySQL中的INSERT ... ON DUPLICATE KEY UPDATE语句。 该语句是基于唯一索引或主键使用,比如一翻译 2018-01-11 17:23:54 · 681 阅读 · 0 评论 -
MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考。案一:使用ignore关键字如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下复制代码1 INSERT IG转载 2018-01-11 17:20:09 · 161 阅读 · 0 评论 -
mysql创建定时任务
一、前言 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到转载 2017-09-02 11:51:30 · 651 阅读 · 0 评论 -
数据库操作语句大全(sql)
一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server— 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’— 开始 备份BAC转载 2017-08-15 15:29:44 · 631 阅读 · 0 评论 -
详解SQL Server连接(内连接、外连接、交叉连接)
在查询多个表时,我们经常会用“连接查询”。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据。 目的:实现多个表查询操作。 知道了连接查询的概念之后,什么时候用连接查询呢? 一般是用作关联两张或两张以上的数据表时用转载 2017-07-11 23:33:05 · 387 阅读 · 0 评论