Mulai Cepat: Menggunakan .NET (C#) untuk menyambungkan dan meminta data di Azure Database for MySQL

BERLAKU UNTUKAzure Database for MySQL - Server Tunggal

Penting

Server tunggal Azure Database for MySQL berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke server fleksibel Azure Database for MySQL. Untuk informasi selengkapnya tentang migrasi ke server fleksibel Azure Database for MySQL, lihat Apa yang terjadi pada Server Tunggal Azure Database for MySQL?

Panduan mulai cepat ini menunjukkan cara menyambungkan ke Azure Database for MySQL dengan menggunakan aplikasi C#. Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database.

Prasyarat

Untuk mulai cepat ini, Anda perlu:

  • Akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Membuat server tunggal Azure Database for MySQL menggunakan portal Azure
    atau Azure CLI jika Anda tidak memilikinya.
  • Berdasarkan pada apakah Anda menggunakan akses publik atau privat, selesaikan SALAH SATU tindakan di bawah ini untuk mengaktifkan konektivitas.
  • Instal .NET SDK untuk platform Anda (Windows, Ubuntu Linux, atau macOS).
Perbuatan Metode konektivitas Panduan
Mengonfigurasi aturan firewall Publik Portal
CLI
Mengonfigurasi Titik Akhir Layanan Publik Portal
CLI
Mengonfigurasi tautan privat Privat Portal
CLI

Buat proyek C#

Pada perintah, jalankan:

mkdir AzureMySqlExample
cd AzureMySqlExample
dotnet new console
dotnet add package MySqlConnector

Mendapatkan informasi koneksi

Dapatkan informasi koneksi yang diperlukan untuk terhubung ke Azure Database for MySQL. Anda memerlukan nama server dan kredensial untuk masuk yang sepenuhnya memenuhi syarat.

  1. Masuk ke portal Azure.
  2. Pada menu sebelah kiri di portal Microsoft Azure, klik Semua sumber daya, lalu cari server yang telah Anda buat (seperti mydemoserver).
  3. Klik di nama server.
  4. Dari panel server Gambaran Umum, buat catatan Nama server dan Nama untuk masuk admin server. Jika lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari panel ini. Azure Database for MySQL server name

Langkah 1: Menyambungkan dan menyisipkan data

Gunakan kode berikut untuk menyambungkan dan memuat data dengan menggunakan pernyataan SQL CREATE TABLE dan INSERT INTO. Kode ini menggunakan metode kelas MySqlConnection:

Ganti parameter Server, Database, UserID, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

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();
        }
    }
}

Langkah 2: Membaca data

Gunakan kode berikut untuk menyambungkan dan membaca data dengan menggunakan SELECT pernyataan SQL. Kode ini menggunakan kelas MySqlConnection dengan metode:

  • OpenAsync() untuk membuat sambungan ke MySQL.
  • CreateCommand() untuk menyetel properti CommandText.
  • ExecuteReaderAsync() untuk menjalankan perintah database.
  • ReadAsync() untuk melanjutkan ke catatan dalam hasil. Kemudian kode ini menggunakan GetInt32 dan GetString untuk mengurai nilai dalam catatan.

Ganti parameter Server, Database, UserID, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

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();
        }
    }
}

Langkah 3: Memperbarui data

Gunakan kode berikut untuk menyambungkan dan membaca data dengan menggunakan UPDATEpernyataan SQL. Kode ini menggunakan kelas MySqlConnection dengan metode:

Ganti parameter Server, Database, UserID, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

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();
        }
    }
}

Langkah 4: Menghapus data

Gunakan kode berikut untuk menyambungkan dan menghapus data dengan menggunakan DELETE pernyataan SQL.

Kode ini menggunakan kelas MySqlConnection dengan metode

Ganti parameter Server, Database, UserID, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

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();
        }
    }
}

Membersihkan sumber daya

Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya menggunakan perintah berikut:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Langkah berikutnya

Tidak dapat menemukan apa yang Anda cari? Beri tahu kami.