Rövid útmutató: A .NET (C#) használatával csatlakozhat és lekérdezhet adatokat az Azure Database for MySQL-ben
A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló
Fontos
Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?
Ebben a rövid útmutatóban azt szemléltetjük, hogy miként lehet C#-alkalmazás használatával csatlakozni az Azure Database for MySQL-hez. Bemutatjuk, hogy az SQL-utasítások használatával hogyan kérdezhetők le, illeszthetők be, frissíthetők és törölhetők az adatok az adatbázisban.
Előfeltételek
Ehhez a rövid útmutatóhoz a következőkre van szüksége:
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Önálló Azure Database for MySQL-kiszolgáló létrehozása az Azure Portal használatával
vagy az Azure CLI-t , ha nincs ilyenje. - Attól függően, hogy nyilvános vagy privát hozzáférést használ-e, végezze el az alábbi műveletek egyikét a kapcsolat engedélyezéséhez.
- Telepítse a platformhoz tartozó .NET SDK-t (Windows, Ubuntu Linux vagy macOS) a platformhoz.
Művelet | Kapcsolati mód | Útmutató |
---|---|---|
Tűzfalszabályok konfigurálása | Nyilvános | Portál Parancssori felület |
Szolgáltatásvégpont konfigurálása | Nyilvános | Portál Parancssori felület |
Privát hivatkozás konfigurálása | Személyes | Portál Parancssori felület |
C#-projekt létrehozása
Egy parancssorból futtassa az alábbi parancsot:
mkdir AzureMySqlExample
cd AzureMySqlExample
dotnet new console
dotnet add package MySqlConnector
Kapcsolatadatok lekérése
Kérje le a MySQL-hez készült Azure Database-hez való csatlakozáshoz szükséges kapcsolatadatokat. Szüksége lesz a teljes kiszolgálónévre és a bejelentkezési hitelesítő adatokra.
- Jelentkezzen be az Azure Portalra.
- Az Azure Portal bal oldali menüjében kattintson a Minden erőforrás lehetőségre, és keressen rá a létrehozott kiszolgálóra (például mydemoserver).
- Kattintson a kiszolgálónévre.
- A kiszolgáló Áttekintés paneléről jegyezze fel a Kiszolgálónevet és a Kiszolgáló-rendszergazdai bejelentkezési nevet. Ha elfelejti a jelszavát, ezen a panelen új jelszót is tud kérni.
1. lépés: Adatok csatlakoztatása és beszúrása
Az alábbi kóddal csatlakoztathatja és betöltheti az adatokat sql-utasítások használatával CREATE TABLE
INSERT INTO
. A kód az osztály metódusait MySqlConnection
használja:
- OpenAsync() a MySQL-kapcsolat létrehozásához.
- CreateCommand(), beállítja a CommandText tulajdonságot
- ExecuteNonQueryAsync() az adatbázis-parancsok futtatásához.
Cserélje le a Server
, Database
, UserID
és Password
paramétert azokkal az értékekkel, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.
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@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 = "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();
}
}
}
2. lépés: Adatok olvasása
A következő kóddal csatlakozhat, és beolvashatja az adatokat a SELECT
SQL-utasítással. A kód metódusokkal használja az MySqlConnection
osztályt:
- OpenAsync() a MySQL-kapcsolat létrehozásához.
- CreateCommand() a CommandText tulajdonság beállításához.
- ExecuteReaderAsync() az adatbázis-parancsok futtatásához.
- ReadAsync() az eredmények rekordjaira való ugráshoz. Ezután a kód a GetInt32 és a GetString metódussal elemzi a rekord értékeit.
Cserélje le a Server
, Database
, UserID
és Password
paramétert azokkal az értékekkel, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.
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();
}
}
}
3. lépés: Adatok frissítése
A következő kóddal csatlakozhat, és beolvashatja az adatokat az UPDATE
SQL-utasítással. A kód a következő metódussal használja az MySqlConnection
osztályt:
- OpenAsync() a MySQL-kapcsolat létrehozásához.
- CreateCommand() a CommandText tulajdonság beállításához
- ExecuteNonQueryAsync() az adatbázis-parancsok futtatásához.
Cserélje le a Server
, Database
, UserID
és Password
paramétert azokkal az értékekkel, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.
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@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 = "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();
}
}
}
4. lépés: Adatok törlése
A következő kóddal csatlakozhat, és törölheti az adatokat a DELETE
SQL-utasítással.
A kód a metódussal rendelkező osztályt MySqlConnection
használja
- OpenAsync() a MySQL-kapcsolat létrehozásához.
- CreateCommand() a CommandText tulajdonság beállításához.
- ExecuteNonQueryAsync() az adatbázis-parancsok futtatásához.
Cserélje le a Server
, Database
, UserID
és Password
paramétert azokkal az értékekkel, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.
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@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 = "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();
}
}
}
Az erőforrások eltávolítása
A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes