给定表 customer ,里面保存了所有客户信息和他们的推荐人. id   | name | referee_id|+------+------+-----------+|    1 | Will |      NULL ||    2 | Jane |      NULL ||    3 | Alex |         2 ||    4 | Bill |      NULL ||    5 | Zack |         1 ||    6 | Mark |         2 | 注…
mysql 中类似php switch case 的语句. select xx字段, case 字段 when 条件1 then 值1 when 条件2 then 值2 else 其他值 END 别名 from 表名; 下面是一个分组求和示例: select sum(redpackmoney) as stota,ischeck from t_redpack group by isCheck 使用case when : select sum(redpackmoney) as stota, (CAS…
在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb_student` ( `id` ) NOT NULL, `stu_name` ) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '学生姓名', `tea_name` ) DEFAULT NULL COMMENT '教师姓名', `stu_class` ) D…
首先看下常见的攻击载荷,如下: select count(*),(floor(rand(0)*2))x from table group by x; 然后对于攻击载荷进行解释, floor(rand(0)*2) 查询表中内容大于等于3条会报错.一部分原因,因为floor(rand(0)*2)是有规律和固定的. 如果不理解,可以用数据库做下实验.select floor(rand(0)*2) from table ,数据量最好10条左右.你会发现一串0110110011--有规律的数字. 再然后s…
1.union all UNION 操作符用于合并两个或多个 SELECT 语句的结果集.请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. 默认地,UNION 操作符选取不同的值.如果允许重复的值,请使用 UNION ALL. 2.if ifnull 把salary表中的女改成男,男改成女: update salary set sex = if( sex = '男','女','男'); if(tr…
先来一个简单的sum select sum(qty) as total_qty from inventory_product group by product_id 这样就会统计出所有product的qty. 但是很不幸,我们的系统里面居然有qty为负值.而我只想统计那些正值的qty,加上if function就可以了. SQL为: select sum(if(qty > 0, qty, 0)) as total_qty from inventory_product group by produ…
MySql 里的IFNULL.NULLIF和ISNULL用法 mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql> select isnull(1+1); -> 0 mysql> select isnull(1/0); -> 1 使用= 的null 值对比通常是错误的. isnull() 函数同 is null比较操作符具有一些相同的特性.…
mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql> select isnull(1+1);-> 0mysql> select isnull(1/0);-> 1使用= 的null 值对比通常是错误的. isnull() 函数同 is null比较操作符具有一些相同的特性.请参见有关is null 的说明. IFNULL(expr1,expr2…
2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 日期 胜 负 2005-05-09 2 2 2005-05-10 1 2 建表: 写Sql语句: select GameDATE,COUNT(case Result when '胜' then result end) '胜',COUNT(case Result when '…
注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条件查询 group by 分组 having 筛选 order by 排序 limit 限制结果条数 为了练习上面5种子句,先建立一张goods表,主要用于查询操作,表结构如下: 所有数据: 1.基础查询 —— where where常用运算符: 1.1 查出主键为20的商品 :mysql> SEL…
如何安全地关闭MySQL实例 转载自:http://imysql.com/2014/08/13/mysql-faq-howto-shutdown-mysqld-fulgraceful.shtml 本文分析了mysqld进程关闭的过程,以及如何安全.缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下. 关闭过程: 1.发起shutdown,发出  SIGTERM信号 2.有必要的话,新建一个关闭线程(shutdown thread) 如果是客户端发起的关闭,则会新建一个专用的关闭线程 如…
今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: 1. isnull(expr) 的用法: 如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql); mysql); 使用= 的null 值对比通常是错误的. isnull() 函数同 is null比较操作符具有一些相同的特性.请参见有关is null 的说明. 2. IFNULL(expr1,ex…
在数据库中我们经经常使用sql语句对表进行简单的统计排序,对于日期字段.我们能够简单的对其进行order. 对于复杂一点的能够按日期中的年.月,日分别进行group,order. 按年份进行group,统计排序: SELECT YERA(established_time) ,COUNT(*) AS num <span style="font-size: 13.75px; font-family: Arial, Helvetica, sans-serif;">FROM `ta…
示例一 #coding=UTF-8 import sys import MySQLdb import time reload(sys) sys.setdefaultencoding('utf-8') def connectDemo(): return MySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8") if __n…
排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 By:授客 QQ:1033553122   测试环境 win10 MySQL 5.7 问题描述: 执行类似以下mysql查询, SELECT id, name, count(*) AS cnt FROM case_table GROUP BY name 报错,如下: 服务器内部错误 (1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains…
一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... Connection Current database: *** NONE *** Reading table information for completion of table and column names You can turn off this feature to get a quic…
mysql的SQL_CALC_FOUND_ROWS 和 count(*) 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ......;  查出符合条件的记录总数SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ......  limit M, N;SELECT F…
(一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务. 由于MySQL在一个实例下面可以创建多个数据库,所以通常在一台服务器上只要安装一个MySQL实例即可满足使用.但在实际使用中,因为服务器硬件资源充足,或者业务需要(比如在一台服务器上创建开发数据库和测试数据库),往往会在一台服务器上创建多个实例. (二)MySQL部署多实例的方法 MySQL多实…
在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别   SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_…
在mysql中 FOUND_ROWS()与COUNT(*)都能够统计记录.假设都一样为什么会有两个这种函数呢.以下我来介绍SELECT FOUND_ROWS()与COUNT(*)使用方法差别 SELECT语句中常常可能用LIMIT限制返回行数. 有时候可能想要知道假设没有LIMIT会返回多少行,但又不想再运行一次同样语句.那么,在SELECT查询中包括SQL_CALC_FOUND_ROWS选项,然后运行FOUND_ROWS()就能够了:  代码例如以下 复制代码 mysql> SELECT SQ…
Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我现在还没研究这种方法是怎么做的:另一种就是通过安装多个MySQL服务器的原始方法实现.我现在是通过第二种方法实现的.成功启动2个MySQL实例.接下来介绍一下操作过程,请多指教. 一.安装第一个MySQL(5.7.21)服务器 首先说明下我是用二进制包安装mysql的:mysql-5.7.21-li…
https://www.cnblogs.com/jpfss/p/8143720.html 序:     网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文章的代码里面很多技术点都没有理解,有跌打误撞碰上的,但多数都是这篇文章卡主了,换篇文章接着卡.- -.     下面真正开始写教程之前,我希望你能够先完整的看完,再去敲代码.     方法适用于MYSQL 5.1之后的版本.之前的版本,自行百度. Mysql的主从是个什么德行我就不解释了.不然你也不…
一.安装多个mysql 参见: https://blog.csdn.net/wrh_csdn/article/details/80198795 https://www.cnblogs.com/qjoanven/p/7898006.html https://www.cnblogs.com/qq931399960/p/10186627.html 如博客说的,我解压安装文件两次,在同一台win下做两mysql实例的主从同步: 版本:mysql-5.6.17-winx64.zip 我没有采用:mysql…
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化时间也是不少的. 学习docker如果不愿意看文章可以看慕课网的一个免费的视频讲解,入门完全ok. 可以在docker hub上注册个账号,构建自己的镜像放到hub上,以便复用 docker hub地址 我的地址 慕课网学习地址 年前给公司的同事培训过一次学习mysql,在阿里云服务器上使用dock…
MySQL 使用profile分析慢sql,group left join效率高于子查询 http://blog.csdn.net/mchdba/article/details/54380221 -----------------…
MySQL中的IFNULL函数和IF函数 MySQL中的IFNULL函数类似于Oracle中的NVL函数,其表达式为:IFNULL(expr1,expr2),含义是:如果第一个参数不为空,则返回第一个参数,否则返回第二个参数. IF(expr1,expr2,expr3)类似于Oracle中的NVL2函数,含义是:如果第一个表达式的值为TRUE(不为0或null),则返回第二个参数的值,否则返回第三个参数的值. SELECT IFNULL(NULL,"11"); -> 11 SEL…
实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con = None try:    #连接mysql的方法:connect('ip','user','password','dbname')    con = mdb.connect('…
mysql合并 两个count语句一次性输出结果的方法 需求场景:经常要查看有两个表统计数,用SELECT COUNT(*) FROM hotcontents,SELECT COUNT(*) FROM hotwords 逐句查看结果很麻烦 不直观, 需要能够合并成一句sql执行后一次性输出两个统计结果. SELECT COUNT(*) FROM hotcontents,hotwords 这样是不行的SELECT COUNT(*) FROM hotcontents UNION SELECT COU…
本文由  网易云 发布. 我们把数据库里部分或全部 Schema和数据迁移到另一个实例的行为称为实例迁移,将导出数据的实例称为源实例,导入数据的实例称为目标实例. 根据迁移数据库类型的不同,可以分为同种数据库之间的迁移,如从 MySQL迁到 MySQL:和跨数据库类型的迁移,如从 Oracle迁移到 MySQL等. 本文将介绍网易云基础服务(蜂巢) RDS实例迁移功能的实现,并探讨如何高效完成实例迁移任务. 使用场景 那么,为什么要进行 MySQL实例迁移呢?不同场景下分别该如何迁移?实例迁移的…
版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/122 来源:腾云阁 https://www.qcloud.com/community 王亮,腾讯云高级工程师.2010年加入腾讯,曾负责腾讯社交产品CDN图片类业务,动态加速业务的运维工作.现负责数据库产品的解决方案工作. 某国内大型游戏开发商有超过130个IDC部署MySQL实例,存储总量达20T.因业务需要,将全部实例迁移到腾讯云CDB for M…