您的位置:首页 > 运维架构 > Shell

从SQL的视角用powershell

2017-01-07 13:16 113 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: