mysql - PowerShell转SQL,简单查询

标签 mysql powershell

我正在尝试使用 PowerShell 从 SQL 数据库中提取数据。

这是我想要做的 SQL

使用数据库文件 选择 * FROM 表.marker WHERE 表.marker = 0 ORDER BY table.sessionid

如何将其放入 PowerShell 中?
我对 PowerShell 的理解水平还不错,但这超出了我当前的知识范围,我只是没有时间资源来用老式的方法来解决它。

最佳答案

首先,您的 powershell 脚本中需要一个连接字符串,例如:

$connectionstring= "SERVER=servername; database=databasename; user id=username;password=password

然后您需要将查询附加到类似以下内容的字符串:

$myQuery = 
@"
USE dbfile
SELECT *
FROM table.marker
WHERE table.marker = 0
ORDER BY table.sessionid
"@

然后,您需要使用查询打开 SQL 连接,使用数据集创建 SQL 适配器 - 类似于:

$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionstring
$command = New-Object System.Data.SqlClient.SqlCommand
$command.CommandText = $myQuery
$command.Connection = $connection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $command
$myDataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($myDataSet)

然后您可以在任何地方使用

调用数据集
$myDataset.Tables[0].rows (etc)...

关于mysql - PowerShell转SQL,简单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47080377/

相关文章:

php - 为什么 $value = $_POST ['businessname' ]; 不从输入表单中读取姓名?

mysql - 使用子查询左连接三个表

sql-server-2008 - Powershell 静默/无人值守安装 sql server 2008

regex - 使用正则表达式将文本提取到新列中

shell - Powershell 中的 $ExecutionContext.SessionState.Path.CurrentLocation 和 $pwd 有什么区别?

"not in"不在唯一列上的 MySql 查询

mysql - 如何删除重复记录并仅保留 1 个具有最新 dateUpdated 字段的副本

powershell - 选择对象 - 保留默认列但添加一列

MYSQL:获取不属于某个类别的项目

powershell - Azure cmdlet - 使用双因素身份验证时 session 无效