详解MySQL 数据分组
创建分组 分组是在SELECT语句中的GROUP BY 子句中建立的。 例: SELECT vend_id, COUNT(*) AS num_prods FROM products GROUP BY vend_id; GROUP BY GROUP BY子句可以包含任意数目的列,这使得能对分组进行嵌套,为数据分组提供更细致的控制。 如果在GROUP ……
MySQL按小时查询数据,没有的补0
需求背景 一个统计接口,前端需要返回两个数组,一个是0-23的小时计数,一个是各小时对应的统计数。 思路 直接使用group by查询要统计的表,当某个小时统计数为0时,会没有该小时分组。思考了一下,需要建立辅助表,只有一列小时,再插入0-23共24个小时 CREATE TABLE hours_list ( hour int NOT NULL PRI……
Navicat连接Oracle详细教程
avicat Premium算是比较好的一个可视化数据库管理工具了,短小精悍,一个工具解决三种数据库的连接问题,真正做到了集成管理,对MySQL,SQLServer而言,连接比较简单,就不赘述了,现总结连接Oracle的步骤如下: 一:说明 该教程是将Oracle数据库中安装到Vmvare虚拟机中,如果单纯调试而言,装到物理机很头疼,物理机的……
MySQL数据库重命名的快速且安全方法
MySQL数据库重命名的方法 Innodb引擎的表如何改数据库名,MyISAM引擎又该如何操作。 如果表是MyISAM引擎可以直接去到数据库目录mv重命名文件夹就可以。 Innodb完全不行,会提示相关表不存在。 第一种方法:rename database 弃用了 RENAME database old_db_name TO new_db_name ……
docker中修改mysql最大连接数及配置文件的实现
1.找到mysql镜像 docker ps 2.进入镜像mysql镜像内部 docker exec -it 05138413c565 /bin/bash 3.安装vim 因为docker镜像内部没有带vim命令,所以需要手动安装,也可以利用docker cp命令从宿主机中复制过去 apt-get update apt-get inst……
MySQL修改存储过程的详细步骤
在实际开发中,业务需求修改的情况时有发生,这样,不可避免的需要修改存储过程的特征。 MySQL中,使用ALTER语句修改存储过程的特性 语法格式 ALTER {PROCEDURE | FUNCTION} sp_name [characteristic……] 参数说明 将读写权限,改为MODIFIES SQL DATA,并指明调用者可以执行 查看修改……
Mysql、Oracle中常用的多表修改语句总结
今天在sql训练题库中看到了这题,这是一道很有代表性的多表修改题,其实解出这道题并不难,无论是mysql中还是oracle中都有很多种解法,接下来就好好归纳一下这些解法。 msyql中多表修改 对于mysql中常用的多表修改语句,还是用例子来解释一下吧。 //建表 create table aaa(id int,value1 int(5),value……
linux下利用Docker安装mysql的步骤
作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装软件出现各种不可预知的问题,到时候还得去搜索资料逐一解决问题,挺耽误时间的。 而且,像linux下这些软件的安装,一般都是运维的事情,测试作为学习使用的话,安装……
MySQL 的 21 个规范、优化最佳实践!
每一个好习惯都是一笔财富,本文分 SQL 后悔药,SQL 性能优化,SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯和最佳实践! 写完SQL先explain查看执行计划(SQL性能优化) 日常开发写 SQL 的时候,尽量养成这个好习惯呀:写完 SQL 后,用 explain 分析一下,尤其注意走不走索引。 操作 delete 或者 update……
mysql查看死锁与去除死锁示例详解
1、查询进程 show processlist 2、 查询到相对应的进程,然后 kill id 验证(kill后再看是否还有锁) 3、查询是否锁表 show OPEN TABLES where In_use > 0; 示例: 新建一个会话执行如下的显示锁示例 LOCK TABLES account_data.account READ;……