从SQL的视角用powershell
SQL是数据处理中的利器,语法简单,表现力强。同时SQL作为说明型语言,让使用者关注在数据处理上。
Powershell是微软提供的一个命令行工具。虽然在powershell中无法直接编写SQL,但是提供了一些命令,可以实现SQL中的SELECT语句。
SQL主要分为
DDL(Data Definition Language): CREATE ALTER DROP TRUNCATE COMMENT RENAME DML(Data Manipulation Language) : SELECT INSERT UPDATE DELETE DCL(Data Control Language): GRANT REVOKE TCL(Transaction Control): COMMIT ROLLBACK
使用最多的就是SELECT。
SELECT的语法
SELECT * FROM WHERE GROUP BY HAVING ORDER BY
对应的数据流
from table: 取数据
where :对数据进行筛选
group by 和 having:对数据进行汇聚,并对汇聚后的结果进行筛选
order by:对数据进行排序
select :选取结果
powershell中的实现
在powershell中无法直接编写SQL,但是提供了一些命令,可以实现SQL中的SELECT语句。
主要涉及的命令有
select: Select-Object where: Where-Object group by: Group-Object order by: Sort-Object from: get-childitem, get-service, Get-Command … having:where-object count/sum/avg/max/min: Measure-Object
写法是按照上图中的数据流来的
例子
select * from all_service where name='mysql'
select type,count(*) from all_service group by status
select type,count(*) from all_service group by status having count(*)>120
select file_type,count(*) from file_list group by file_type order by count(*) desc limit 5
select count(*),sum(length),avg(length),max(length),min(length) from file_list
select avg(cnt),max(cnt),min(cnt),sum(cnt) from( select file_type,count(*) cnt from file_list group by file_type )
SQL的分类,主要参考:
http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
http://www.cnblogs.com/ola2010/