mysql
爱吃血肠
本人是个小小程序员,此博客一是为了激励自己学习,二是记录自己的学习历程,以方便及时回顾相关知识。
展开
-
Caused by: java.sql.SQLSyntaxErrorException: Expression #16 of SELECT list is not in GROUP BY clause
现象是这样的,前端访问应用审核功能,系统出现数据库错误,前端的message将错误信息也展示出来了。原因是这样:错误信息的产生是因为数据库配置与SQL语句不兼容Caused by: java.sql.SQLSyntaxErrorException: Expression #16 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘r.dicName’ which is not functionall原创 2020-10-14 14:54:31 · 2191 阅读 · 0 评论 -
问题原因:Mybatis中对于时间参数进行比较时的一个BUG
问题原因:Mybatis中对于时间参数进行比较时的一个BUG.如果拿传入的时间类型参数与空字符串‘‘进行对比判断则会引发异常.,所以应该去掉该判断, 只保留非空判断就正常了<``if` `test="createTime != null and createTime !=‘‘ " >` ` date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})` ` ```if``>改为<``if` `test="creat原创 2020-10-09 13:35:27 · 714 阅读 · 0 评论 -
mysql设置主键自增
archives_user 系统环境改主键自增archives_sale_info 设置主键自增 系统环境ALTER TABLE `archives_sale_info` MODIFY COLUMN `id` bigint(8) NOT NULL AUTO_INCREMENT FIRST; ALTER TABLE `archives_user` MODIFY COLUMN `id` bigint(8) NOT NULL AUTO_INCREMENT FIRST;...原创 2020-09-29 09:51:36 · 4170 阅读 · 0 评论 -
Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable d.原创 2020-09-16 10:45:27 · 5919 阅读 · 0 评论 -
在某表中追加一个字段会影响系统运行吗?
会出问题,insert语句不指定列名,如:insert into table_name values(xxx, xxx, xxx);你现在表加了一个字段,不就出错了。原创 2020-09-14 09:14:25 · 7143 阅读 · 0 评论 -
再见,Navicat!安装这个IDEA的兄弟,真香!
前言最近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司。DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。之前试用的客户端工具是dbvisualizer,但是在试用了DataGrip以后,我就决定抛弃dbvisualizer。我相信,当你第一眼看到DataGrip以后,会有一种惊艳的感觉,就好比你第一眼看到一个姑娘,就是那么一瞥,你对自己说,就是她了!废话不多说转载 2020-09-08 16:59:03 · 8029 阅读 · 1 评论 -
mysql中如何设置默认时间为当前时间?
修改日期类型为timestamp 并允许空,如下:CREATE TABLE dutest (aaaa varchar(50) NOT NULL,createday timestamp NULL DEFAULTCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULTCHARSET=utf8;如果是在navicat下操作的话,zhi设置dao字段的类型为timestamp,默认值写上CURRENT_TIMESTAMP扩展资原创 2020-09-01 17:29:49 · 10747 阅读 · 0 评论 -
数据可视化分析平台
DataGear是一款数据可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持多种数据库, 主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。DataGear 1.11.1 已发布,欢迎官网下载使用!系统特点可管理数据库驱动管理员可通过驱动程序管理功能添加数据库驱动程序,无需重启,即可支持连接新数据库。参数化数据集可编写动态SQL语句数据集,为其添加参数,构建可交互式图表。多数据源聚合图表一个图表可添加多个不同数据源的数据集,将它们聚合..原创 2020-08-27 17:18:10 · 8037 阅读 · 0 评论 -
导入文件管理表结构
导入文件管理CREATE TABLE `archives_car_baseinfo_record` ( `id` bigint(8) NOT NULL AUTO_INCREMENT COMMENT 'id', `source_file_url` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '源文件', `error_file_url` varchar(255) COLLATE utf8mb4_general_ci .原创 2020-08-25 17:31:36 · 5998 阅读 · 0 评论 -
为什么不建议在 MySQL 中使用 UTF-8?
记得去年我在往MySQL存入emoji表情 时,一直出错,无法导入。后来找到办法 – 通过把 utf8改成 utf8mb4 就可以了,并没有深究。一年后,我看到一篇文章讲到emoji文字占4个字节,通常要用utf-8去接收才行,其他编码可能会出错。我突然想到去年操作MySQL把utf8改成utf8mb4的事儿。嗯?他本身不就是utf8编码么!那我当时还改个锤子?难道,MySQL的utf8不是真正的UTF-8编码吗??! 卧槽这。。MySQL有bug!带着疑问查询了很多相关材料,才发现这竟然是MySQ转载 2020-08-19 09:18:40 · 6044 阅读 · 0 评论 -
车辆档案excel记录
CREATE TABLE `archives_car_baseinfo_record` ( `id` bigint(8) NOT NULL AUTO_INCREMENT COMMENT 'id', `source_file_url` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '源文件', `error_file_url` varchar(255) COLLATE utf8mb4_general_ci DEFAULT原创 2020-08-18 16:34:34 · 5944 阅读 · 0 评论 -
分页
mysql分页:select * from 表 limit (pageNo-1)*pageSize,pageSize;oracle分页:select a.* (select 表.*,rowum rn from 表) a where rn>(pageNo-1)pageSize and rn <=pageNopageSize;原创 2020-08-17 08:59:08 · 5921 阅读 · 0 评论 -
mysql创建表为表增加必备字段
alibaba java开发手册在线版:https://kangroo.gitee.io/ajcg/#/?id=%e5%89%8d%e8%a8%80mysql创建表为表增加必备字段语句(更新时xxx替换为自己的表):ALTER TABLE xxx ADD COLUMN `creater` VARCHAR(255) DEFAULT NULL COMMENT '创建人';ALTER TABLE xxx ADD COLUMN `create_name` datetime DEFAULT NULL COMM原创 2020-08-03 09:43:57 · 7268 阅读 · 0 评论 -
三、查询优化器工作原理
三、查询优化器工作原理对于一个SQL语句,查询优化器先看是不是能转换成JOIN,再将JOIN进行优化优化分为:1. 条件优化,2.计算全表扫描成本,3. 找出所有能用到的索引,4. 针对每个索引计算不同的访问方式的成本,5. 选出成本最小的索引以及访问方式开启查询优化器日志-- 开启set optimizer_trace="enabled=on"; -- 执行sql-- 查看日志信息select * from information_schema.OPTIMIZER_TRACE;-..原创 2020-07-27 15:43:10 · 6161 阅读 · 0 评论 -
二、B+树索引实战
二、B+树索引实战索引的代价空间上的代价一个索引都为对应一棵B+树,树中每一个节点都是一个数据页,一个页默认会占用16KB的存储空间,所以一个索引也是会占用磁盘空间的。时间上的代价索引是对数据的排序,那么当对表中的数据进行增、删、改操作时,都需要去维护修改内容涉及到的B+树索引。所以在进行增、删、改操作时可能需要额外的时间进行一些记录移动,页面分裂、页面回收等操作来维护好排序。B+树索引实战全值匹配select * from t1 where b = 1 and c = 1 and d ..原创 2020-07-27 15:42:51 · 5975 阅读 · 0 评论 -
一、InnoDb行格式、数据页结构以及索引底层原理分析
一、InnoDb行格式、数据页结构以及索引底层原理分析局部性原理在InnoDB中,数据会存储到磁盘上,在真正处理数据时需要先将数据加载到内存,表中读取某些记录时,InnoDB存储引擎不需要一条一条的把记录从磁盘上读出来,InnoDB采取的方式是:将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB,也就是说,当需要从磁盘中读数据时每一次最少将从磁盘中读取16KB的内容到内存中,每一次最少也会把内存中的16KB内容写到磁盘中。InnoDB数据页结构页是I原创 2020-07-27 15:42:31 · 6059 阅读 · 0 评论 -
五、Mysql事务以及锁原理
五、Mysql事务以及锁原理事务(ACID)场景:小明向小强转账10元原子性(Atomicity)转账操作是一个不可分割的操作,要么转失败,要么转成功,不能存在中间的状态,也就是转了一半的这种情况。我们把这种要么全做,要么全不做的规则称之为原子性。隔离性(Isolation)另外一个场景:小明向小强转账10元小明向小红转账10元隔离性表示上面两个操作是不能相互影响的一致性(Consistency)对于上面的转账场景,一致性表示每一次转账完成后,都需要保证整个系统的余额等于所有账户的原创 2020-07-27 15:23:27 · 6154 阅读 · 0 评论 -
四、Explain关键字解析
列名描述id在一个大的查询语句中每个SELECT关键字都对应一个唯一的idselect_typeSELECT关键字对应的那个查询的类型table表名partitions匹配的分区信息type针对单表的访问方法possible_keys可能用到的索引key实际上使用的索引key_len实际使用到的索引长度ref当使用索引列等值查询时,与索引列进行等值匹配的对象信息rows预估的需要读取的记录条数filtered...原创 2020-07-27 13:57:08 · 6065 阅读 · 0 评论