北京小辉
余辉,硕士毕业于中科院,从事IT行业12年。专注于大数据、云数据、用户画像、推荐算法。在数据团队担任过的角色:研发、架构师、负责人、讲师。数据知识产权:出版大数据书籍【1】本,论文【2】篇,软著【6】篇,专利【65】篇。
展开
-
SQL行转列、列转行
目录一、整理测试数据SQL行转列、列转行这个主题还是比较常见的,行转列主要适用于对数据作聚合统计,如统计某类目的商品在某个时间区间的销售情况。列转行问题同样也很常见。一、整理测试数据create table wyc_test( id int(32) not null auto_increment, name varchar(80) default null, date date d...原创 2021-07-27 19:52:39 · 412 阅读 · 0 评论 -
Mysql教程(一)---本教程数据准备
目录1、house_prices2、comcat_text3、infoMysql教程的所有表格和数据陆续加载1、house_pricesCREATE TABLE `house_prices` ( `Home` int NOT NULL COMMENT '房子编号', `Price` int DEFAULT NULL COMMENT '价格', `SqFt` int DEF...原创 2020-05-04 09:18:46 · 1006 阅读 · 1 评论 -
Mysql教程(二)---Mysql建库建表规范
1、最简单的:CREATE TABLE t1( id int not null, name char(20));2、带主键的:a:CREATE TABLE t1( id int not null primary key, name char(20));b:复合主键CREATE TABLE t1( id int not null, name char原创 2016-07-20 10:57:19 · 6317 阅读 · 0 评论 -
Mysql教程(三)---SELECT基础检索
目录1、检索指定列列2、星符号初体验3、DISTINCT 去重4、Order by5、Limit1、检索指定列列指定列名称,列的顺序为自己指定select Home , price , SqFt , Bedrooms ,Neighborhood from house_prices2、星符号初体验【*】代表全部列名称,列的顺序为建表顺序select * from house...原创 2020-05-04 09:49:09 · 1045 阅读 · 2 评论 -
Mysql教程(四)---过滤数据
目录1、WHERE过滤2、BETWEEN3、NULL空值4、多过滤条件组合5、IN与NOT IN过滤6、LIKE与通配符过滤1、WHERE过滤select * from house_prices where Home >=10 and Home <=20; -- 并且select * from house_prices where Home <=10 ...原创 2020-05-04 10:34:58 · 733 阅读 · 1 评论 -
Mysql教程(五)---SQL正则表达式
目录1、SQL正则表达式列表2、SQL正则表达式案例备注:Mysql教程(一)—本教程数据准备1、SQL正则表达式列表备注: a1竖线a2 为: a1|a2 。由于Markdown中竖线为列的分隔符REGEXP说明^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。$匹...原创 2020-05-04 11:00:40 · 975 阅读 · 0 评论 -
Mysql教程(六)---计算字段
目录1、concat2、别名3、计算1、concat-- 通过CONCAT将过多字符串连接select *, CONCAT(company,'(',city,code,')') from comcat_text;-- 如果有拼接null 则全为nullselect *, CONCAT(company,'(',city,NULL,')') from comcat_text; 2...原创 2020-05-04 11:18:50 · 508 阅读 · 0 评论 -
Mysql教程(七)---高效的数据处理函数
目录1、时间日期处理2、数值处理函数3、文本处理函数备注:Mysql教程(一)—本教程数据准备1、时间日期处理CurDate() 返回当前日期 CurTime() 返回当前时间Date() 返回日期时间的日期部分 DateDiff() 计算两个日期之差 Day() 返回一个日期的天数部分 DayOfWeek() 对于一个日期,返回对应的星期几 ,注意返回值星期日为1,星期一...原创 2020-05-04 11:34:49 · 1445 阅读 · 0 评论 -
Mysql教程(八)---常用的聚集函数
目录1、数据展示2、平均及坑3、统计count及坑4、distinct什么时候用5、其他函数备注:Mysql教程(一)—本教程数据准备1、数据展示1、平均及坑1)avg 是一个数字计算函数2)如果有null ,则对null值列去掉之后再开始计算比如:1,2,3,4, 5,null,7,8 avg计算为:1+2+3+4+5+7+8 / 72、统计count及坑1)...原创 2020-05-04 12:13:19 · 469 阅读 · 0 评论 -
Mysql教程(九)---分组
目录1、数据展示2、分组的意义3、HAVING过滤分组4、分组排序及执行顺序备注:Mysql教程(一)—本教程数据准备1、数据展示2、分组的意义及约束分组的意义1)分组时候,分组的字段一定要出现在select 字段中2)分组时候,select 可以出现聚合函数分组的约束1)对null的处理2)select 中有多余的字段3)低版本 不能按照别名进行分组,5.8可以使用...原创 2020-05-04 13:47:11 · 725 阅读 · 0 评论 -
Mysql教程(十)---子查询
目录1、子查询功能和约束2、需求:找出大于平均值得房屋3、需求:在原有列中加入,房屋平均价格列4、需求:朝向和卫生间房屋分组的平均价格大于总平均价格5、需求:相同卧室个数的大于,大于平均价格6、EXIST与NOT EXIST备注:Mysql教程(一)—本教程数据准备1、子查询功能和约束子查询:通过多个嵌套获得结果运行过程:先执行内部查询,在执行外部查询作用域:外嵌套的表名称...原创 2020-05-04 19:34:13 · 513 阅读 · 0 评论 -
Mysql教程(十一)---内连接-外连接-全连接
目录1、JOIN 按照功能描述2、内连接3、左外连接4、右外连接1、JOIN 按照功能描述JOIN 按照功能大致分为如下三类:INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应...原创 2020-05-05 10:26:48 · 815 阅读 · 0 评论 -
Mysql教程(十二)---cross join 的用法(笛卡尔积)
CROSS JOIN又称为笛卡尔乘积,实际上是把两个表乘起来。[实例]:SQL CROSS JOIN will return all records where each row from the first table is combined with each row from the second table. Which also mean CROSS JOIN returns the...原创 2019-12-06 15:08:57 · 1655 阅读 · 0 评论 -
Mysql教程(十三)---CASE WHEN
目录1、简单函数2、搜索函数3、案例分析4、聚合函数 sum 配合 case when1、简单函数CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END: 枚举这个字段所有可能的值*-- 简单函数CASE <表达式> WHEN <表达式1> THEN <表达式4> ...原创 2020-05-05 17:34:10 · 465 阅读 · 0 评论 -
Mysql教程(十四)---窗口函数
目录1、MySQL窗口函数简介2、窗口函数如何使用3、序号函数操作1、MySQL窗口函数简介 MySQL从8.0开始支持窗口函数,这个功能在大多商业数据库和部分开源数据库中早已支持,有的也叫分析函数。1)什么叫窗口? 窗口函数也就是OLAP,拼写:online analytica...原创 2020-05-05 20:52:44 · 1784 阅读 · 0 评论 -
Mysql教程(二十)---java程序向mysql中插入数据的中文乱码
1、java配置一端 url=jdbc:mysql://hadoop11:3306/sina_weibo 改为 url=jdbc:mysql://hadoop11:3306/sina_weibo?useUnicode=true&characterEncoding=utf82、mysql一端showvariablesli原创 2016-06-02 21:15:44 · 777 阅读 · 0 评论 -
Mysql教程(二十 一)---自定义Mysql连接池
目录:一、需求二、传统链接三、自定义连接池四、代码展现五、结果展现———————————————————————————————————一、需求自定义Mysql连接池,让多个Mysql的连接放在一个池内,每次用完就放回池内,避免过多连接Mysql。二、传统链接(如下为示意图) 三、自定义连接池(示意图) 四、代码展现package com.xiaoyu.cn;import java.sql.Co原创 2017-06-02 12:15:24 · 1019 阅读 · 0 评论 -
Mysql教程(二十二)---ISNULL()和IFNULL() is null 和 is not null
create table userinfo (num int not NULL,name varchar(20), age int , primary key(num));INSERT INTO userinfo(num , name , age) VALUES (1 , 'yuhui' , 30);INSERT INTO userinfo(num , name , age) VALUES (2原创 2016-07-20 10:55:17 · 2941 阅读 · 0 评论 -
Mysql教程(二十三)---主键存在则更新,不存在则插入
需求:MYSQL主键存在则更新,不存在则插入package com.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;/*** * 需求:MYSQL主键存在则更新,不存在则插入 * * 解决: * 1、主键为:PRIMARY K...原创 2018-10-15 11:24:41 · 1819 阅读 · 0 评论 -
Mysql案例(一)---分组取topN的三种方式
问题:有表 如下,要求取出各班前两名(允许并列第二)表内容如下所示:idSNameClsNoScore1AAAAC1672BBBBC1553CCCCC1674DDDDC1655EEEEC1956FFFFC2577GGGGC2878HHHHC2749IIII原创 2019-12-10 09:27:17 · 944 阅读 · 0 评论 -
Mysql案例(二)---列转行
列转行SELECT GROUP_CONCAT(shop_name),product_idfrom shopproduct GROUP BY product_id;原创 2020-05-14 13:04:17 · 476 阅读 · 0 评论 -
Mysql 忘记root密码的完美解决方法
目录:一、更改my.cnf配置文件二、更改root用户名————————————————————————————————————–一、更改my.cnf配置文件1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 2.在[mysqld]下添加skip-grant-tables,然后保存并退出3.重启mysql服务:service mys原创 2017-05-27 10:11:57 · 739 阅读 · 0 评论 -
Mysql安装innodb支持
注意:查看/tem文件权限是不是 777 ,再添加 install plugin innodb soname ‘ha_innodb.so’; ,它会在tmp文件中写一个文本,如果没有权限,则报出找不到文件错误。系统环境:linux数据库版本:mysql 5.1.47 需要要安装innodb类型支持 先查看mysql是否安装了innodb插件[root@localhost bin]# ./原创 2017-05-22 18:46:22 · 2247 阅读 · 0 评论 -
Mysql 实用知识
目录:一、MySQL的安装与配置 1)MySQL的安装与配置–安装RPM包 2)MySQL的安装与配置–安装二进制包 3)MySQL的安装与配置–安装源码包二、用户与权限 1)用户与权限—用户管理 2)用户与权限—权限表 3)用户与权限—权限管理三、表类型(存储引擎)介绍 1)存储引擎查看 2)存储引擎原创 2017-03-30 17:09:29 · 775 阅读 · 0 评论 -
Mysql连接池问题
17/03/29 09:07:23 WARN resourcepool.BasicResourcePool: com.mchange.v2.resourcepool.BasicResourcePool@67d8bcd1 -- an attempt to checkout a resource was interrupted, and the pool is still live: some othe原创 2017-03-29 09:33:14 · 2569 阅读 · 0 评论 -
Mysql:Mysql主键
主键没有着明确的概念定义,其是索引的一种,并且是唯一性索引的一种,且必须定义为“PRIMARY KEY”,是只可意会不可言传的东西。下面让我用通俗,甚至有些低俗的语言为您简单介绍一下MySQL的主键。 简单描述: 主键不能重复,就像QQ的用户名,有N个叫“虫zi”的网友,可是他们的QQ号码是不一样的,也就是说真正标识一个QQ的身份是“QQ号码”。还有那万恶的身份证,无论“张原创 2016-11-01 14:47:32 · 1192 阅读 · 0 评论 -
五大主流数据库模型
前言:无论是关系型数据库还是非关系型数据库,都是某种数据模型的实现。本文将为大家简要介绍5种常见的数据模型,让我们来追本溯源,窥探现在流行的数据库解决方案背后的神秘世界。什么是数据模型? 访问数据库中的数据取决于数据库实现的数据模型。数据模型会影响客户端通过API对数据的操作。不同的数据模型可能会提供或多或少的功能。一般而言,数据模型不会直接提供过多的功能,许多功能必须由客户端自行实现。原创 2016-09-11 14:56:54 · 3337 阅读 · 0 评论 -
50种方法优化SQL Server
50种方法优化SQL Server查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)原创 2015-08-30 09:50:55 · 967 阅读 · 0 评论 -
MySql中的分页
MySQL中分页实现 我们来贴例子吧! mysql> select pname from product; +——–+ | pname | +——–+ | 产品1 | | 产品2 | | 产品三 | +——–+ 3 rows in set (0.00 sec)这个地方是说,从product中选出所有的pname来,一共有三条记录。 MySQL中的分页非常简单,我们可以使用l原创 2016-03-20 08:28:30 · 644 阅读 · 0 评论 -
Orcal中的分页
第一种:显示从5 到 10 的员工 1、table01 按照工资降序排列出所有员工 select * from emp order by sal desc2、table02 在员工表table01中设定rownum,rownum<=5 select rownum no, e.* from (select * from emp order by sal desc) e原创 2016-03-20 08:29:38 · 821 阅读 · 0 评论 -
详解Mysql数据导入到SQLServer数据库中
本地方法不仅限定于Mysql,也可以将Excel、Oracle数据导入到SQLServer中。原创 2016-04-28 22:30:48 · 15032 阅读 · 4 评论 -
mySql:MySql安装杂记
1)在公司安装mysql没遇到问题;但在家里安装遇到了问题,安装完成后没有反映,后来发现只是安装了程序,并没有安装服务。2)安装完程序后(win7 32位),运行mysql: ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost'2)在bin下执行:mysqld --install;然后再服务看到mysql服务,原创 2015-08-30 13:39:27 · 796 阅读 · 0 评论 -
mysql:linux下mysql默认安装、目录更改、常用命令
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。 下面就介绍一下这几个目录。 1、数据库目录 /var/lib/mysql/ 2、配置文件 /usr/sha原创 2016-06-02 16:05:19 · 834 阅读 · 0 评论 -
Mysql:Mysql分表的几种方式
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时转载 2016-08-23 17:15:59 · 840 阅读 · 0 评论