Schnellstart: Verwenden von .NET (C#) zum Herstellen einer Verbindung und zum Abfragen von Daten in Azure Database for MySQL Flexible Server.
GILT FÜR: Azure Database for MySQL – Flexibler Server
In diesem Schnellstart wird gezeigt, wie Sie mithilfe einer C#-Anwendung eine Verbindung mit einer Instance von Azure Database for MySQL – Flexibler Server herstellen. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden.
Voraussetzungen
Für diese Schnellstartanleitung benötigen Sie Folgendes:
Ein Azure-Konto mit einem aktiven Abonnement.
Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen. Mit einem kostenlosen Azure-Konto können Sie Azure Database for MySQL – Flexibler Server derzeit 12 Monate lang kostenlos testen. Weitere Informationen finden Sie unter Kostenlose Testversion von Azure Database for MySQL – Flexibler Server.
Erstellen einer Instance von Azure Database for MySQL – Flexibler Server mit dem Azure-Portal
oder der Azure CLI, wenn Sie noch keinen besitzen.Je nachdem, ob Sie öffentlichen oder privaten Zugriff verwenden, führen Sie EINE der folgenden Aktionen aus, um Konnektivität herzustellen:
Erstellen einer Datenbank und eines Nicht-Administratorbenutzers
Installieren Sie das .NET SDK für Ihre Plattform (Windows, Ubuntu Linux oder macOS).
Treten Probleme auf? Informieren Sie uns darüber.
Erstellen eines C#-Projekts
Führen Sie an der Eingabeaufforderung Folgendes aus:
mkdir AzureMySqlExample
cd AzureMySqlExample
dotnet new console
dotnet add package MySqlConnector
Abrufen von Verbindungsinformationen
Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit der Instance von Azure Database for MySQL – Flexibler Server erforderlich sind. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen.
- Melden Sie sich beim Azure-Portalan.
- Wählen Sie im Azure-Portal im linken Menü Alle Ressourcen aus, und suchen Sie dann nach dem Server, den Sie erstellt haben (z.B. mydemoserver).
- Wählen Sie den Servernamen aus.
- Notieren Sie sich im Bereich Übersicht des Servers den Servernamen und den Anmeldenamen des Serveradministrators. Wenn Sie Ihr Kennwort vergessen haben, können Sie es in diesem Bereich auch zurücksetzen.
Schritt 1: Herstellen einer Verbindung und Einfügen von Daten
Verwenden Sie den folgenden Code, um die Daten mit SQL-Anweisungen vom Typ CREATE TABLE
und INSERT INTO
zu verbinden und zu laden. Für den Code werden die Methoden der MySqlConnection
-Klasse verwendet:
- OpenAsync() zum Herstellen einer Verbindung mit MySQL
- CreateCommand() zum Festlegen der CommandText-Eigenschaft
- ExecuteNonQueryAsync() zum Ausführen der Datenbankbefehle
Ersetzen Sie die Parameter Server
, Database
, UserID
und Password
durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlCreate
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "DROP TABLE IF EXISTS inventory;";
await command.ExecuteNonQueryAsync();
Console.WriteLine("Finished dropping table (if existed)");
command.CommandText = "CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);";
await command.ExecuteNonQueryAsync();
Console.WriteLine("Finished creating table");
command.CommandText = @"INSERT INTO inventory (name, quantity) VALUES (@name1, @quantity1),
(@name2, @quantity2), (@name3, @quantity3);";
command.Parameters.AddWithValue("@name1", "banana");
command.Parameters.AddWithValue("@quantity1", 150);
command.Parameters.AddWithValue("@name2", "orange");
command.Parameters.AddWithValue("@quantity2", 154);
command.Parameters.AddWithValue("@name3", "apple");
command.Parameters.AddWithValue("@quantity3", 100);
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows inserted={0}", rowCount));
}
// connection will be closed by the 'using' block
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Treten Probleme auf? Teilen Sie es uns mit.
Schritt 2: Lesen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung vom Typ SELECT
zu verbinden und zu lesen. Für den Code werden die Methoden der MySqlConnection
-Klasse verwendet:
- OpenAsync() zum Herstellen einer Verbindung mit MySQL
- CreateCommand() zum Festlegen der CommandText-Eigenschaft
- ExecuteReaderAsync() zum Ausführen der Datenbankbefehle
- ReadAsync() für den Zugriff auf die Datensätze in den Ergebnissen Mithilfe von GetInt32 und GetString werden im Code dann die Werte im Datensatz analysiert.
Ersetzen Sie die Parameter Server
, Database
, UserID
und Password
durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlRead
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER@YOUR-SERVER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "SELECT * FROM inventory;";
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
Console.WriteLine(string.Format(
"Reading from table=({0}, {1}, {2})",
reader.GetInt32(0),
reader.GetString(1),
reader.GetInt32(2)));
}
}
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Treten Probleme auf? Informieren Sie uns darüber.
Schritt 3: Aktualisieren von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung vom Typ UPDATE
zu verbinden und zu lesen. Durch den Code werden die Methoden der MySqlConnection
-Klasse verwendet:
- OpenAsync() zum Herstellen einer Verbindung mit MySQL
- CreateCommand() zum Festlegen der CommandText-Eigenschaft
- ExecuteNonQueryAsync() zum Ausführen der Datenbankbefehle
Ersetzen Sie die Parameter Server
, Database
, UserID
und Password
durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlUpdate
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "UPDATE inventory SET quantity = @quantity WHERE name = @name;";
command.Parameters.AddWithValue("@quantity", 200);
command.Parameters.AddWithValue("@name", "banana");
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows updated={0}", rowCount));
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Schritt 4: Löschen von Daten
Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung vom Typ DELETE
zu verbinden und zu löschen.
Durch den Code werden die Methoden der MySqlConnection
-Klasse verwendet:
- OpenAsync() zum Herstellen einer Verbindung mit MySQL
- CreateCommand() zum Festlegen der CommandText-Eigenschaft
- ExecuteNonQueryAsync() zum Ausführen der Datenbankbefehle
Ersetzen Sie die Parameter Server
, Database
, UserID
und Password
durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.
using System;
using System.Threading.Tasks;
using MySqlConnector;
namespace AzureMySqlExample
{
class MySqlDelete
{
static async Task Main(string[] args)
{
var builder = new MySqlConnectionStringBuilder
{
Server = "YOUR-SERVER.mysql.database.azure.com",
Database = "YOUR-DATABASE",
UserID = "USER",
Password = "PASSWORD",
SslMode = MySqlSslMode.Required,
};
using (var conn = new MySqlConnection(builder.ConnectionString))
{
Console.WriteLine("Opening connection");
await conn.OpenAsync();
using (var command = conn.CreateCommand())
{
command.CommandText = "DELETE FROM inventory WHERE name = @name;";
command.Parameters.AddWithValue("@name", "orange");
int rowCount = await command.ExecuteNonQueryAsync();
Console.WriteLine(String.Format("Number of rows deleted={0}", rowCount));
}
Console.WriteLine("Closing connection");
}
Console.WriteLine("Press RETURN to exit");
Console.ReadLine();
}
}
}
Bereinigen von Ressourcen
Löschen Sie die Ressourcengruppe mit dem folgenden Befehl, um alle in dieser Schnellstartanleitung verwendeten Ressourcen zu bereinigen:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes