sql
puyuma
位于广州大学城的2020计算机应届毕业生,现就职于Infosys。
展开
-
如何解决group_concat默认长度限制问题
今天需要用到这个函数,发现查询到的值不全,原来是因为mysql设置问题,查阅了博文后发现可以这样解决:解决办法: (1)GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得长度:SELECT @@global.group_concat_max_len;show variables like “group_concat_max_len”;使用以下语句设置:SET GLOBAL group_concat_max_len=102400;&nbs.转载 2021-03-31 19:26:11 · 10996 阅读 · 0 评论 -
mysql左连接内连接闲谈
最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写业务: sql语句统计出入库数据。问题: 只统计了X端入库单。原因: 没有发现X端的数据库中只有入库单是有a字段数据而出库单是没有的,并使用了a字段去inner join,导致只能查到入库单进行统计操作。解决: 采用left join。以前一直在想什么时候能用到left join 、 inner join ,这次可给我上了一课。关于它们之间的区别,可以看看下面这篇文章:inner jo.原创 2021-01-14 16:18:48 · 2028 阅读 · 4 评论 -
mysql搜索优化闲谈
最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写业务:前端传一个keyword关键字,后台需查询十几个字段,较多的表关联关系。一开始:写了一堆or,难以阅读且不易改且会出问题后来:使用group_concat(distinct xxId),获取到所有符合关键字查询的ids(以逗号隔开的id), 最后用in ids的方式,将关键字筛选条件加入主sql语句中。即 select * from table where … and table.id.原创 2021-01-06 16:51:38 · 273 阅读 · 0 评论 -
sql 同类分组后求记录数
SELECT count(1) FROM ( SELECT * FROM xx GROUP BY xx) as a; 这样就得到了分组后的记录数(几组),而不是一个个分组的记录数。原创 2020-10-09 14:06:31 · 214 阅读 · 0 评论 -
Hibernate配置实体类关联关系,但不生成数据库外键
今天在做一个快检项目时,项目总监说不要使用外键,原代码: @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "xxx_id")现在: @ManyToOne @JoinColumn(name = "xxx_id", foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT))...原创 2020-08-17 15:39:24 · 430 阅读 · 0 评论 -
mysql首次安装默认密码
在mysql安装目录下的data文件夹中的.err 文件中原创 2020-07-03 10:43:31 · 727 阅读 · 3 评论 -
你知道怎么用脚本设置数据库定时备份吗?(已实现定时备份+备份文件压缩+清除七天前的备份文件)
最近定时备份数据库,并且删除七天之前的备份数据,于是捣鼓了这个脚本#!/bin/bash# 要备份的数据库名,多个数据库用空格分开databases=(mediavo)# 要备份的表名,多个表用空格分开tables=(t_sys_user t_sys_role)DB_HOST="localhost"# 备份文件要保存的目录basepath='/data/mysql_backup/'if [ ! -d "$basepath" ]; then mkdir -p "$basepa.原创 2020-05-29 13:44:26 · 211 阅读 · 0 评论 -
问题解决:Access denied for user @ localhost to database mysql问题
前几天写了脚本备份数据库,运行时却报错,按道理脚本是没问题的,后来发现是数据库用户的问题,分析:user表中的user=“ ”的信息有误,即存在“ ”数据库用户,需要先把这个用户删掉。命令执行顺序如下:service mysqld stopmysqld_safe --skip-grant-tables & 或 mysqld_safe --skip-grant-table另开一个终端:mysql -u rootuse mysql;delete from user where .原创 2020-05-29 11:24:57 · 571 阅读 · 0 评论 -
自救措施:MySQL删库or删表or误删数据
想要自救成功,binlog一定要用好。mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。目录准备工作删除某条数据删除数据表删除数据库准备工作1.首先确认数据库是否已开启binlog。show variables like 'log_%';结果:2.查看后发现未开启binlog,使用以下方法进行开启:win...原创 2020-04-22 16:39:06 · 15681 阅读 · 1 评论 -
mysql字段类型为char类型查询时无法使用索引
char类型字段使用where查询的时候,该字段的值必须要加引号(哪怕是纯数字),说明这是个字符串,不然无法使用索引,导致全表查询。原创 2020-04-21 16:44:25 · 1514 阅读 · 0 评论 -
转:count(*)和count(1)和count(列名)的区别
count是一种最简单的聚合函数,一般也是我们第一个开始学习的聚合函数,那么他们之间究竟由什么区别呢?有的人说count(1)和count(*)他们之间有区别,而有的人说他们之间没有区别那么他们之间到底有没有区别呢。从执行结果来说: count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去...转载 2020-04-16 16:34:46 · 183 阅读 · 0 评论 -
如何在Linux上实现每天自动备份mysql数据库
1.首先在服务器上创建存放备份sql的文件夹mkdir /usr/local/mysqlBackup 2.编写脚本mysqlBackupScript.shmkdir /usr/local/mysqlScript #创建脚本存放位置cd /usr/local/mysqlScript #进入脚本存放位置vim mysqlBackupScript.sh #打开编辑器编辑器中写入以下内容:...原创 2020-03-13 19:43:34 · 11343 阅读 · 0 评论 -
简洁明了:Navicat使用SSH方式链接MySQL远程数据库
一共三步:1. 首先点击位于Navicat界面左上角的连接,选择mysql,进入以下页面:2.在常规页面键入以下内容:3.在SSH页面键入以下内容:现在就可以建立SSH连接啦~关于这个,有任何问题可以留言问我(๑•ᴗ•๑)~觉得还不错可以点个赞哦~ 谢谢(๑•ᴗ•๑)...原创 2019-12-23 16:04:35 · 1607 阅读 · 0 评论 -
服务器重装mysql后使用命令设置root密码,并赋予远程连接权限
2019年1月19日 10:01:37 广州大学城众创空间设置密码set password for root@localhost = password(‘123’);给予用户远程权限use mysql;select User,authentication_string,Host from user;GRANT ALL PRIVILEGES ON . TO ‘root’@’%...原创 2019-07-25 11:08:14 · 765 阅读 · 0 评论 -
MYSQL 如何对多个字段进行分组(GROUP BY)
在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:Table: Subject_SelectioSubject Semester Attendee---------------------------------ITB001 1 JohnITB001 1...转载 2019-10-17 19:04:05 · 7090 阅读 · 2 评论 -
用一条sql语句判断两个日期是否处于同一月份!
举个例子,删除同一月份的记录:delete from table where TIMESTAMPDIFF(MONTH,table_date,‘2019-09-03’)=0;原创 2019-09-03 16:14:01 · 7798 阅读 · 2 评论