从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

posted @ 2017-01-07 13:16  zhizhou  阅读(634)  评论(0编辑  收藏  举报