标签:mysql

详解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……

MySQL数据库重命名的快速且安全方法

MySQL数据库重命名的方法 Innodb引擎的表如何改数据库名,MyISAM引擎又该如何操作。 如果表是MyISAM引擎可以直接去到数据库目录mv重命名文件夹就可以。 Innodb完全不行,会提示相关表不存在。 第一种方法:rename database 弃用了 RENAME database old_db_name TO new_db_name ……

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;……

MYSQL数据库GTID实现主从复制实现

一、添加Maria源 vi /etc/yum.repos.d/MariaDB.repo 粘贴阿里云的最新mariadb镜像: [mariadb] name = MariaDB baseurl = https://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/ gpgkey=https:/……

MySQL8.0设置远程访问权限的方法

1.登录MySQL mysql -u root -p 输入您的密码 2.选择 mysql 数据库 use mysql; 因为 mysql 数据库中存储了用户信息的 user 表。 3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息 select host, user, authentication_string……