Powershell 连接MySQL
Powershell连接SQL Server一般都是直接使用Invoke-sqlcmd,这个很方便,但是有时候还是会需要连接到其他数据库,像MySQL。
这里是对Powershell连接MySQL研究的一个总结:
连接MySQL是通过.net框架的,所以必须先安装 MySQL .Net Connector (http://dev.mysql.com/downloads/connector/net/)
如果不想安装MySQL .Net connector 也可以直接在其他已安装的机器上拷贝MySql.Data.dll 到需要使用的机器上。
连接方式:
如果是安装了MySQL .Net Connector
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
如果是直接通过MySQL.Data.dll文件
$mySQLDataDLL = "C:\scripts\mysql\MySQL.Data.dll" [void][system.reflection.Assembly]::LoadFrom($mySQLDataDLL)
读取DLL后我们便可以进行处理:
$connectionStr = "Server=192.168.1.1;Uid=user;Pwd=user123;database=mydb;" $querysql = "select msg from messages limit 1;" $connection = New-Object MySql.Data.MySqlClient.MySqlConnection $connection.ConnectionString = $connectionStr $connection.Open() $command = New-Object MySql.Data.MySqlClient.MySqlCommand($querysql, $connection) $dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($command) $dataSet = New-Object System.Data.DataSet $recordCount = $dataAdapter.Fill($dataSet) $dataSet.Tables[0]
到这里我们会获得一个System.Data.DataSet对象,我们通过Tables[0]返回第0个表集,这已经可以返回我们需要的数据集了,但是如果我们要进一步的处理行集的话:
$table = $dataSet.Tables[0] foreach($row in $table.Rows) { $row.msg }
如果你想知道这个table中有多少列可以使用下面的方法:
$table.columns | Format-Table
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码