从SQL的视角用powershell
2017-01-07 13:16
113 查看
SQL是数据处理中的利器,语法简单,表现力强。同时SQL作为说明型语言,让使用者关注在数据处理上。
Powershell是微软提供的一个命令行工具。虽然在powershell中无法直接编写SQL,但是提供了一些命令,可以实现SQL中的SELECT语句。
使用最多的就是SELECT。
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107130933987-2122051288.png)
from table: 取数据
where :对数据进行筛选
group by 和 having:对数据进行汇聚,并对汇聚后的结果进行筛选
order by:对数据进行排序
select :选取结果
主要涉及的命令有
写法是按照上图中的数据流来的
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131338519-219063529.png)
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131344644-924902753.png)
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131354441-799185251.png)
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131401909-1932974299.png)
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131411159-347699554.png)
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131420566-1485344675.png)
SQL的分类,主要参考: http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
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
对应的数据流
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107130933987-2122051288.png)
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'
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131338519-219063529.png)
select type,count(*) from all_service group by status
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131344644-924902753.png)
select type,count(*) from all_service group by status
having count(*)>120
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131354441-799185251.png)
select file_type,count(*) from file_list group by file_type order by count(*) desc limit 5
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131401909-1932974299.png)
select count(*),sum(length),avg(length),max(length),min(length) from file_list
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131411159-347699554.png)
select avg(cnt),max(cnt),min(cnt),sum(cnt) from( select file_type,count(*) cnt from file_list group by file_type )
![](https://images2015.cnblogs.com/blog/456961/201701/456961-20170107131420566-1485344675.png)
SQL的分类,主要参考: http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
相关文章推荐
- PowerShell应用之-生成创建表的Transact-SQL脚本
- Testing SQL Stored Procedures using PowerShell
- 小鸦视角-看关系数据库MSSQL-SQL
- SQL Server常用工具——SQL Server Powershell Extensions
- powershell connects to sqlserver
- Powershell--批量拆分SQL语句为事务并批处理
- Get Tables of SQLServer in PowerShell
- PowerShell 操作 Azure SQL Active Geo-Replication
- powershell connect sql server
- SQL实战训练2--- PowerShell中导出数据到excel表格
- Powershell连接多服务器执行SQL脚本
- 为什么这个SQL Server DBA学习PowerShell--SQL任务
- SQL Server的PowerShell扩展(SQLPSX) 2.3版本
- sql server powershell
- 为什么这个SQL Server DBA学习PowerShell--SQL任务
- POWERSHELL-在不同的实例和数据库执行SQL
- 通过PowerShell操作SQLConnection .NET类
- 通过PowerShell操作SQLConnection .NET类
- PowerShell 操作 Azure SQL Active Geo-Replication 实战
- <译>通过PowerShell工具跨多台服务器执行SQL脚本