PowerShell/Scripts/convert-mysql2csv.ps1

42 lines
1.4 KiB
PowerShell
Raw Normal View History

2021-09-27 10:38:12 +02:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
2021-09-24 17:19:49 +02:00
Convert a MySQL database table to a .CSV file
2021-10-04 21:29:23 +02:00
.DESCRIPTION
2022-01-29 12:47:46 +01:00
This PowerShell script converts a MySQL database table to a .CSV file.
2021-10-16 16:50:10 +02:00
.PARAMETER server
Specifies the server's hostname or IP address
.PARAMETER database
Specifies the database name
.PARAMETER username
Specifies the user name
.PARAMETER password
Specifies the password
.PARAMETER query
Specifies the SQL query
2021-07-13 21:10:02 +02:00
.EXAMPLE
2023-08-06 21:35:36 +02:00
PS> ./convert-mysql2csv.ps1
2021-07-13 21:10:02 +02:00
.LINK
https://github.com/fleschutz/PowerShell
2022-01-29 12:47:46 +01:00
.NOTES
2022-09-06 21:42:04 +02:00
Author: Markus Fleschutz | License: CC0
2021-04-10 10:10:58 +02:00
#>
2021-04-10 10:40:03 +02:00
2021-07-15 15:51:22 +02:00
param([string]$server = "", [string]$database = "", [string]$username = "", [string]$password = "", [string]$query = "")
2021-04-10 10:40:03 +02:00
try {
2021-07-15 15:51:22 +02:00
if ($server -eq "") { $server = read-host "Enter the hostname/IP address of the MySQL server" }
if ($database -eq "") { $database = read-host "Enter the database name" }
if ($username -eq "") { $username = read-host "Enter the database username" }
if ($password -eq "") { $password = read-host "Enter the database user password" }
if ($query -eq "") { $query = read-host "Enter the database query" }
2021-04-10 10:40:03 +02:00
$csvfilepath = "$PSScriptRoot\mysql_table.csv"
$result = Invoke-MySqlQuery -ConnectionString "server=$server; database=$database; user=$username; password=$password; pooling = false; convert zero datetime=True" -Sql $query -CommandTimeout 10000
$result | Export-Csv $csvfilepath -NoTypeInformation
2021-09-27 10:09:45 +02:00
exit 0 # success
2021-04-10 10:40:03 +02:00
} catch {
2022-04-13 12:06:32 +02:00
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
2021-04-10 10:40:03 +02:00
exit 1
2021-04-10 10:10:58 +02:00
}