2020年2月18日 | 标签:

今天看了几场钉钉群里的行业直播,觉得价值很大,但是不允许下载,就想用电脑录屏然后保存起来
使用的MAC的自带视频录制软件,quicktime player,可以全屏和自定义区域录制,很好用

但是保存下来的文件就很头大,我只录了一个小窗口的5分钟,居然文件大小有120M,然后自带的导出功能我想换低点的分辨率,导出为720P,然而居然导出后文件大小更大了。。

他的名字就是handbrake

免费的开源 mac下 视频压缩软件

https://handbrake.fr/downloads.php

最好百度找了好久才发现这个神器 2个有个最大的优点
1,免费-法国的一个人开源软件
2,号称是微信官方指定唯一编辑视频软件,因为可以自定义精准的分辨率

我尝试了下,居然5分钟的视频从原来的120M 直接变成了12M 太厉害了


最后上图展示下结果
视频体检小了10分之一 ,分辨率没有变化

 

2019年12月19日 | 标签:

标题:mysql学习第11天right join inner join用法

——————————————————————————————————————————-

时间:2012/4/28 13:03:09

——————————————————————————————————————————-

内容:

create table boy
(name varchar(10),flower varchar(10)) character set utf8;
insert into boy
values
(‘谢霆锋’,’菊花’),
(‘吴宗宪’,’梅花’),
(‘刘德华’,’桃花’),
(‘周润发’,’玫瑰’),
(‘小沈阳’,’没钱花’);

 

create table girl
(name varchar(10),flower varchar(10)) character set utf8;

insert into girl
values
(‘张柏芝’,’菊花’),
(‘张静初’,’玫瑰’),
(‘邱淑贞’,’桃花’),
(‘张柏芝’,’玫瑰’),
(‘空姐’,’菊花’),
(‘小泽玛莉亚’,’玫瑰’),
(‘范冰冰’,’茉莉’);

select boy.*,girl.* from boy left join girl on boy.flower=girl.flower;

select boy.*,girl.* from boy right join girl on boy.flower=girl.flower;

select boy.*,girl.* from boy inner join girl on boy.flower=girl.flower;

 

 

解读一个误区 left join不是excel的 vlookup

如果是主表在附表有2行以上匹配的时候 他会全部列出来 主表会重复

比如主表10行数据 附表10个行数 最后的表的数据大于等于10行 主表没配对上的留空

主表多配对的列出来多有配对的情况

inner join就是删掉了没有配对的情况

create table boy
(name varchar(10),flower varchar(10)) character set utf8;
insert into boy
values
(‘谢霆锋’,’菊花’),
(‘吴宗宪’,’梅花’),
(‘刘德华’,’桃花’),
(‘周润发’,’玫瑰’),
(‘小沈阳’,’没钱花’);

 

create table girl
(name varchar(10),flower varchar(10)) character set utf8;

insert into girl
values
(‘张柏芝’,’菊花’),
(‘张静初’,’玫瑰’),
(‘邱淑贞’,’桃花’),
(‘张柏芝’,’玫瑰’),
(‘空姐’,’菊花’),
(‘小泽玛莉亚’,’玫瑰’),
(‘范冰冰’,’茉莉’);

select boy.*,girl.* from boy left join girl on boy.flower=girl.flower;

select boy.*,girl.* from boy right join girl on boy.flower=girl.flower;

select boy.*,girl.* from boy inner join girl on boy.flower=girl.flower;

 

 

解读一个误区 left join不是excel的 vlookup

如果是主表在附表有2行以上匹配的时候 他会全部列出来 主表会重复

比如主表10行数据 附表10个行数 最后的表的数据大于等于10行 主表没配对上的留空

主表多配对的列出来多有配对的情况

inner join就是删掉了没有配对的情况

 

 

标题:mysql 学习第12天 left join嵌套使用和列操作

——————————————————————————————————————————-

时间:2012/4/30 1:18:25

——————————————————————————————————————————-

内容:

create table goods
(goods_id int primary key auto_increment,
goods_name varchar(20),cate_id int,brand_id int,price decimal(7,2) not null default 0.01);

 

创建一个goods表 里面的主键是goods_id 这里的auto_increment不要拼写错误
包含商品名称商品id 品牌id 产品类型id价格 基本是以数字为住 方便快速查询同类商品(where cateid=3 比where catename=手机 效率要快很多)和分类 节约空间 用数字代表长的字符串
修改商品分类信息 只用去调用的信息里修改就可以 不影响主表 特别是主表数据几万条 我只用修改id对应的名称即可 不用update几万条数据

insert into goods
(goods_name,cate_id,brand_id,price)
values
(‘联想手机’,1,1,1334.44),
(‘三星手机’,1,2,2334.44),
(‘苹果电脑’,2,3,7334.44),
(‘苹果手机’,1,3,5334.44);

给商品表信息加一些数据

create table category
(cate_id int,cate_name varchar(20));
insert into category
values
(1,’手机’),
(2,’电脑’);

创建一个类别名称表 给商品表调用

create table brand
(brand_id int,brand_name varchar(20));
insert into brand
values
(1,’联想’),
(2,’三星’),
(3,’苹果’);
创建一个品牌名称表 方便调用品牌名

select * from goods left join category on cate_id=category.cate_id;
我现在要根据商品表 主表里的信息查找对应的商品类别名称  这里面的cate-id要指明 要不会分校不清楚

select * from (select goods_id,goods_name,brand_id,goods.cate_id,category.cate_name from goods left join category on goods.cate_id=category.cate_id) as temp left join brand on temp.brand_id=brand.brand_id;
我这里要做一个2次调用 嵌套链接 把前面的结果当场一个临时表 然后用as 给他起个名字 再用这个临时的temp表和品牌表一起做左链接 调用

select * from goods left join category on goods.cate_id=category.cate_id left join brand on goods.brand_id=brand.brand_id;

或者直接在后面写 因为mysql计算顺序的时候 首先是计算from后面的得到原始数据 再安装select去除相应的列
再用where判断 所以我不用带括号直接 left join 再接一个left join

关于列修改
增加列是
alter table tablename add colomnname int after|first
来定位新增加的列
例如
alter table goods add test int first;

修改列
alter table goods test stock int;

删除
alter table goods drop stock;

create table goods
(goods_id int primary key auto_increment,
goods_name varchar(20),cate_id int,brand_id int,price decimal(7,2) not null default 0.01);

 

创建一个goods表 里面的主键是goods_id 这里的auto_increment不要拼写错误
包含商品名称商品id 品牌id 产品类型id价格 基本是以数字为住 方便快速查询同类商品(where cateid=3 比where catename=手机 效率要快很多)和分类 节约空间 用数字代表长的字符串
修改商品分类信息 只用去调用的信息里修改就可以 不影响主表 特别是主表数据几万条 我只用修改id对应的名称即可 不用update几万条数据

insert into goods
(goods_name,cate_id,brand_id,price)
values
(‘联想手机’,1,1,1334.44),
(‘三星手机’,1,2,2334.44),
(‘苹果电脑’,2,3,7334.44),
(‘苹果手机’,1,3,5334.44);

给商品表信息加一些数据

create table category
(cate_id int,cate_name varchar(20));
insert into category
values
(1,’手机’),
(2,’电脑’);

创建一个类别名称表 给商品表调用

create table brand
(brand_id int,brand_name varchar(20));
insert into brand
values
(1,’联想’),
(2,’三星’),
(3,’苹果’);
创建一个品牌名称表 方便调用品牌名

select * from goods left join category on cate_id=category.cate_id;
我现在要根据商品表 主表里的信息查找对应的商品类别名称  这里面的cate-id要指明 要不会分校不清楚

select * from (select goods_id,goods_name,brand_id,goods.cate_id,category.cate_name from goods left join category on goods.cate_id=category.cate_id) as temp left join brand on temp.brand_id=brand.brand_id;
我这里要做一个2次调用 嵌套链接 把前面的结果当场一个临时表 然后用as 给他起个名字 再用这个临时的temp表和品牌表一起做左链接 调用

select * from goods left join category on goods.cate_id=category.cate_id left join brand on goods.brand_id=brand.brand_id;

或者直接在后面写 因为mysql计算顺序的时候 首先是计算from后面的得到原始数据 再安装select去除相应的列
再用where判断 所以我不用带括号直接 left join 再接一个left join

关于列修改
增加列是
alter table tablename add colomnname int after|first
来定位新增加的列
例如
alter table goods add test int first;

修改列
alter table goods test stock int;

删除
alter table goods drop stock;

2019年12月18日 | 标签:

标题:mysql学习第9 天 where和from子查询的用法

——————————————————————————————————————————-

时间:2012/4/26 1:04:30

——————————————————————————————————————————-

内容:

首先看一个数据吧

 name  score
 cotine  53
 cotine  43
 stephen  75
 stephen  63

很简单很普通的分数表

cotine的人 有门功课是53有门是43

stephen的人 有门75 有门63

我想知道分数低于50的人的平均分

再解决这个问题之前 我们要学习下from的子查询

select * from  where表达式 大家都知道

其实这个表达式可以是一个子句

就是 select * from student where score between 0 and 50,

where就是里面的查询结果是作为外面的选择条件

from 就是里面的零时表就是外面的调用的 然后使用from 一定要小心 嵌套的时候 零时表一定要起个别名 要不然不能调用的

 

首先看一个数据吧

 name  score
 cotine  53
 cotine  43
 stephen  75
 stephen  63

很简单很普通的分数表

cotine的人 有门功课是53有门是43

stephen的人 有门75 有门63

我想知道分数低于50的人的平均分

再解决这个问题之前 我们要学习下from的子查询

select * from  where表达式 大家都知道

其实这个表达式可以是一个子句

就是 select * from student where score between 0 and 50,

where就是里面的查询结果是作为外面的选择条件

from 就是里面的零时表就是外面的调用的 然后使用from 一定要小心 嵌套的时候 零时表一定要起个别名 要不然不能调用的

标题:mysql 学习第10天 exist用户和where in的区别

——————————————————————————————————————————-

时间:2012/4/26 18:08:17

——————————————————————————————————————————-

内容:

有一个表1 叫TA 记录汶川地震时候捐款信息放着捐款人民和金额和名字

 name  donate
 stephen  100
 hou  200
 zhang  200
 zheng  200
xiao  200

有一个表2 叫TB 记录玉树地震时候捐款信息放着捐款人民和金额和名字

 name  donate
 xiao  100
 hou  200
 zhu  200
 ben  200
wu  200

现在我需要知道在玉树地震捐款的名单中 谁在汶川地址的时候已经捐过了

可以用where in来做

select * from TB where name in (select name from TA),

where in执行方法是先做内查询的  得到零时表的结果集

然后对tb表中每一户数据进行判断 是否在这个结果集中

那么计算方法是加入a表有a行 b表有b行 计算量是

1,取出经过筛选的a行数据—-2,对b行的每一行数据在a行数据中对比 找到就复合条件 比较A*B次  就得到结果

总的计算量是  读取(A)次+比较(A*B)次

也可以用 exists 做

select * from TB where exists (select 1 from TA TB.name=TA.name)

exists执行方法是 取出外表的每行数据 代入到 内部中进行比较, 如果存在 就得到结算

那么我门来算下这种方法的计算量

读取B行+ 比较(A*B)次

那么很明显 如果a比较小的时候 用in 也就是说先计算的表比较小时候用in

如果b小的时候用exists  也是读取小表用

 

那么简单了 什么时候用exists 什么使用用in呢

 

当我手上拿着一张小表 我要去大表里找小表中重复的数据我用exsit

如果手上是大表 我要小表中找重复的数据我用in

 

 

有一个表1 叫TA 记录汶川地震时候捐款信息放着捐款人民和金额和名字

 name  donate
 stephen  100
 hou  200
 zhang  200
 zheng  200
xiao  200

有一个表2 叫TB 记录玉树地震时候捐款信息放着捐款人民和金额和名字

 name  donate
 xiao  100
 hou  200
 zhu  200
 ben  200
wu  200

现在我需要知道在玉树地震捐款的名单中 谁在汶川地址的时候已经捐过了

可以用where in来做

select * from TB where name in (select name from TA),

where in执行方法是先做内查询的  得到零时表的结果集

然后对tb表中每一户数据进行判断 是否在这个结果集中

那么计算方法是加入a表有a行 b表有b行 计算量是

1,取出经过筛选的a行数据—-2,对b行的每一行数据在a行数据中对比 找到就复合条件 比较A*B次  就得到结果

总的计算量是  读取(A)次+比较(A*B)次

也可以用 exists 做

select * from TB where exists (select 1 from TA TB.name=TA.name)

exists执行方法是 取出外表的每行数据 代入到 内部中进行比较, 如果存在 就得到结算

那么我门来算下这种方法的计算量

读取B行+ 比较(A*B)次

那么很明显 如果a比较小的时候 用in 也就是说先计算的表比较小时候用in

如果b小的时候用exists  也是读取小表用

 

那么简单了 什么时候用exists 什么使用用in呢

 

当我手上拿着一张小表 我要去大表里找小表中重复的数据我用exsit

如果手上是大表 我要小表中找重复的数据我用in

 

标题:mysql学习第10天union用法和左链接

——————————————————————————————————————————-

时间:2012/4/28 0:37:01

——————————————————————————————————————————-

内容:

union用法

讲一个和多个表联合在一个新表中

默认有去除重复行的特点 加上union all可以加快速度 不让合并

union 后排序主要要加括号 要求union的2个或者多个表列的数量相同即可 类型可以不同

但是行的元素完全一样 后面的省略

 

左链接用法

类是excel的vlookup

左边是我的主表 我对主表某一行的数据需要到右边去查找对应的值 所以要

select biao1.lie1,biao1.lie2, from biao1 left join biao2 on biao1.lie1.biao2.lie1

 

用途就是表1列的一个数值 去表而中查询找到了就返回这一行的整个数据

union用法

讲一个和多个表联合在一个新表中

默认有去除重复行的特点 加上union all可以加快速度 不让合并

union 后排序主要要加括号 要求union的2个或者多个表列的数量相同即可 类型可以不同

但是行的元素完全一样 后面的省略

 

左链接用法

类是excel的vlookup

左边是我的主表 我对主表某一行的数据需要到右边去查找对应的值 所以要

select biao1.lie1,biao1.lie2, from biao1 left join biao2 on biao1.lie1.biao2.lie1

 

用途就是表1列的一个数值 去表而中查询找到了就返回这一行的整个数据