Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PowerShell स्क्रिप्ट के माध्यम से MySQL कंसोल का उपयोग करें

आप जो करने का प्रयास कर रहे हैं वह काम नहीं करेगा, क्योंकि आपका कोड show databases; तक नहीं पहुंचेगा जब तक आप mysql.exe . से बाहर नहीं निकल जाते . उपयोग करने का सामान्य तरीका mysql.exe एक स्क्रिप्ट से प्रत्येक क्वेरी के साथ निष्पादन योग्य चलाना है:

$db   = 'testasset'
$user = 'asset'
$pass = 'test'

$mysql  = 'C:\Users\I16A1\Downloads\mysql\bin\mysql.exe'
$params = '-u', $user, '-p', $pass, $db

& $mysql @params -e 'SHOW DATABASES'
& $mysql @params -e '...'
...

स्प्लैटिंग का उपयोग करें सामान्य पैरामीटर प्रदान करने के लिए।

आम तौर पर आप पैरामीटर भी जोड़ेंगे -B (--batch , गैर-संवादात्मक निष्पादन, कोई फैंसी आउटपुट स्वरूपण नहीं) और -N (--skip-column-names , इस तरह से अधिक "सुपाच्य" आउटपुट प्राप्त करने के लिए आउटपुट में कॉलम टाइटल न दिखाएं:

information_schema
mysql
performance_schema
test

इस तरह डिफ़ॉल्ट आउटपुट प्राप्त करने के बजाय, आगे की प्रक्रिया के लिए तालिका से डेटा को पार्स करने की आवश्यकता होगी:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

इसके साथ ही, कमांडलाइन क्लाइंट के साथ काम करने की तुलना में एक बेहतर तरीका .Net का उपयोग करना होगा। कनेक्टर , जैसे इस तरह:

$server = 'localhost'
$db     = 'testasset'
$user   = 'asset'
$pass   = 'test'

$cs = "server=$server;user id=$user;password=$pass;database=$db;pooling=false"

[void][Reflection.Assembly]::LoadWithPartialName('MySQL.Data')

$cn = New-Object MySql.Data.MySqlClient.MySqlConnection
$cn.ConnectionString = $cs
$cn.Open()

$cmd= New-Object MySql.Data.MySqlClient.MySqlCommand
$cmd.Connection  = $cn
$cmd.CommandText = 'SHOW DATABASES'
$reader = $cmd.ExecuteReader()

$tbl = New-Object Data.DataTable
$tbl.Load($reader)
$reader.Close()
$cn.Close()

$tbl | Format-Table -AutoSize

इस तरह आपको जो आउटपुट मिलेगा वह स्ट्रिंग्स के बजाय वास्तविक ऑब्जेक्ट होगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL त्रुटि बहुत अधिक कनेक्शन

  2. किसी अन्य तालिका से मूल्य के साथ आईडी को बदलने के लिए MySQL जॉइन करें

  3. MySQL डेटाबेस में निर्दिष्ट दो प्राथमिक कुंजियाँ

  4. MySQL में JSON आयात करना

  5. इस संबंध से प्रविष्टियों का चयन कैसे करें?