Rövid útmutató: Adatok csatlakoztatása és lekérdezése a Ruby használatával 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?
Ez a rövid útmutató bemutatja, hogyan csatlakozhat egy Azure Database for MySQL-hez Egy Ruby-alkalmazás és a Mysql2 gem használatával Windows, Linux és Mac platformokról. 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. Ez a témakör azt feltételezi, hogy Ön a Ruby használata terén rendelkezik fejlesztési tapasztalatokkal, de a MySQL-hez készült Azure Database használatában még járatlan.
Előfeltételek
Ebben a rövid útmutatóban a következő útmutatók valamelyikében létrehozott erőforrásokat használunk kiindulási pontként:
- Azure-adatbázis létrehozása MySQL-kiszolgálóhoz az Azure Portal használatával
- Azure-adatbázis létrehozása MySQL-kiszolgálóhoz az Azure CLI használatával
Fontos
Győződjön meg arról, hogy a kiszolgáló tűzfalszabályai az Azure Portal vagy az Azure CLI használatával lettek hozzáadva a csatlakozó IP-címhez
Telepítse a Rubyt
Telepítse a Rubyt, a Gemet és a MySQL2 könyvtárat a saját számítógépére.
- Töltse le és telepítse a Ruby 2.3-as verzióját.
- Nyisson meg egy új parancssort (cmd) a Start menüből.
- Lépjen a Ruby-könyvtárba a 2.3-as verzióhoz.
cd c:\Ruby23-x64\bin
- A Ruby telepítésének ellenőrzéséhez futtassa a
ruby -v
parancsot a telepített verzió megtekintéséhez. - A Gem telepítésének ellenőrzéséhez futtassa a
gem -v
parancsot a telepített verzió megtekintéséhez. - A Gem használatával állítsa össze a Mysql2 modult a Rubyhoz a
gem install mysql2
parancs futtatásával.
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.
Ruby-kód futtatása
- Illessze be a Ruby-kódot az alábbi szakaszokból szövegfájlokba, majd mentse a fájlokat egy projektmappába .rb kiterjesztéssel (például a
C:\rubymysql\createtable.rb
vagy/home/username/rubymysql/createtable.rb
elérési úton). - A kód futtatásához nyissa meg a parancssort vagy a Bash rendszerhéjat. Lépjen a projektmappára:
cd rubymysql
- Ezután írja be a Ruby-parancsot, majd a fájlnevet (
ruby createtable.rb
) az alkalmazás futtatásához. - Ha Windows rendszeren a Ruby-alkalmazás nincs a path környezeti változóban, előfordulhat, hogy a teljes elérési utat kell használnia a Node.js-alkalmazás elindításához, például:
"c:\Ruby23-x64\bin\ruby.exe" createtable.rb
Csatlakozás és tábla létrehozása
A következő kód használatával csatlakozhat, és létrehozhat egy táblát a CREATE TABLE SQL-utasítással, majd az INSERT INTO SQL-utasításokkal sorokat adhat hozzá a táblához.
A kód egy mysql2::client osztályt használ a MySQL-kiszolgálóhoz való csatlakozáshoz. Ezután metódust hív query()
meg a DROP, a CREATE TABLE és az INSERT INTO parancs futtatásához. Végül hívja meg a close()
kapcsolatot a kapcsolat bezárásához a megszakítás előtt.
Cserélje le a host
, database
, username
, és password
sztringeket a saját értékekre.
require 'mysql2'
begin
# Initialize connection variables.
host = String('mydemoserver.mysql.database.azure.com')
database = String('quickstartdb')
username = String('myadmin@mydemoserver')
password = String('yourpassword')
# Initialize connection object.
client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
puts 'Successfully created connection to database.'
# Drop previous table of same name if one exists
client.query('DROP TABLE IF EXISTS inventory;')
puts 'Finished dropping table (if existed).'
# Drop previous table of same name if one exists.
client.query('CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);')
puts 'Finished creating table.'
# Insert some data into table.
client.query("INSERT INTO inventory VALUES(1, 'banana', 150)")
client.query("INSERT INTO inventory VALUES(2, 'orange', 154)")
client.query("INSERT INTO inventory VALUES(3, 'apple', 100)")
puts 'Inserted 3 rows of data.'
# Error handling
rescue Exception => e
puts e.message
# Cleanup
ensure
client.close if client
puts 'Done.'
end
Adatok beolvasása
A következő kóddal csatlakozhat, és beolvashatja az adatokat a SELECT SQL-utasítással.
A kód egy mysql2::client osztály használatával csatlakozik az Azure Database for MySQL-hez metódussal new()
. Ezután metódust hív query()
meg a SELECT parancsok futtatásához. Ezután meghívja a metódust close()
, hogy zárja be a kapcsolatot a megszakítás előtt.
Cserélje le a host
, database
, username
, és password
sztringeket a saját értékekre.
require 'mysql2'
begin
# Initialize connection variables.
host = String('mydemoserver.mysql.database.azure.com')
database = String('quickstartdb')
username = String('myadmin@mydemoserver')
password = String('yourpassword')
# Initialize connection object.
client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
puts 'Successfully created connection to database.'
# Read data
resultSet = client.query('SELECT * from inventory;')
resultSet.each do |row|
puts 'Data row = (%s, %s, %s)' % [row['id'], row['name'], row['quantity']]
end
puts 'Read ' + resultSet.count.to_s + ' row(s).'
# Error handling
rescue Exception => e
puts e.message
# Cleanup
ensure
client.close if client
puts 'Done.'
end
Adatok frissítése
Az alábbi kód használatával csatlakozhat és végezheti el az adatok módosítását egy UPDATE SQL-utasítás segítségével.
A kód a mysql2::client class .new() metódust használja a MySQL-hez készült Azure-adatbázishoz való csatlakozáshoz. Ezután meghívja a metódust query()
az UPDATE-parancsok futtatásához. Ezután meghívja a metódust close()
, hogy zárja be a kapcsolatot a megszakítás előtt.
Cserélje le a host
, database
, username
, és password
sztringeket a saját értékekre.
require 'mysql2'
begin
# Initialize connection variables.
host = String('mydemoserver.mysql.database.azure.com')
database = String('quickstartdb')
username = String('myadmin@mydemoserver')
password = String('yourpassword')
# Initialize connection object.
client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
puts 'Successfully created connection to database.'
# Update data
client.query('UPDATE inventory SET quantity = %d WHERE name = %s;' % [200, '\'banana\''])
puts 'Updated 1 row of data.'
# Error handling
rescue Exception => e
puts e.message
# Cleanup
ensure
client.close if client
puts 'Done.'
end
Adatok törlése
A következő kóddal csatlakozhat, és beolvashatja az adatokat a DELETE SQL-utasítással.
A kód egy mysql2::client osztályt használ a MySQL-kiszolgálóhoz való csatlakozáshoz, futtassa a DELETE parancsot, majd zárja be a kapcsolatot a kiszolgálóval.
Cserélje le a host
, database
, username
, és password
sztringeket a saját értékekre.
require 'mysql2'
begin
# Initialize connection variables.
host = String('mydemoserver.mysql.database.azure.com')
database = String('quickstartdb')
username = String('myadmin@mydemoserver')
password = String('yourpassword')
# Initialize connection object.
client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
puts 'Successfully created connection to database.'
# Delete data
resultSet = client.query('DELETE FROM inventory WHERE name = %s;' % ['\'orange\''])
puts 'Deleted 1 row.'
# Error handling
rescue Exception => e
puts e.message
# Cleanup
ensure
client.close if client
puts 'Done.'
end
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