Mulai Cepat: Menggunakan PHP untuk menyambungkan dan membuat kueri dari data di Azure Database for MySQL - Flexible Server
BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel
Dalam mulai cepat ini, Anda menyambungkan ke Server Fleksibel Azure Database for MySQL dengan menggunakan Python. Kemudian, Anda menggunakan pernyataan SQL untuk mengajukan kueri, menyisipkan, memperbarui, dan menghapus data dalam database dari platform Mac, Ubuntu Linux, dan Windows.
Artikel ini mengasumsikan bahwa Anda terbiasa mengembangkan menggunakan Python, tetapi Anda baru bekerja dengan Azure Database for MySQL Flexible Server.
Prasyarat
Akun Azure dengan langganan aktif.
Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai. Saat ini, dengan akun gratis Azure, Anda dapat mencoba Azure Database for MySQL - Server Fleksibel gratis selama 12 bulan. Untuk informasi selengkapnya, lihat Coba Azure Database for MySQL - Server Fleksibel secara gratis.
Instans Server Fleksibel Azure Database for MySQL. Untuk membuat instans Server Fleksibel Azure Database for MySQL, lihat Membuat instans Server Fleksibel Azure Database for MySQL menggunakan portal Azure atau Membuat instans Server Fleksibel Azure Database for MySQL menggunakan Azure CLI.
Mempersiapkan stasiun kerja klien Anda
- Jika Anda membuat server fleksibel dengan Akses privat (Integrasi VNet), Anda harus tersambung ke server Anda dari sumber daya dalam VNet yang sama dengan server Anda. Anda dapat membuat komputer virtual dan menambahkannya ke VNet yang dibuat dengan server fleksibel Anda. Lihat Membuat dan mengelola jaringan virtual Azure Database for MySQL Flexible Server menggunakan Azure CLI.
- Jika Anda membuat server fleksibel dengan Akses publik (alamat IP yang diizinkan), Anda dapat menambahkan alamat IP lokal Anda ke daftar aturan firewall di server Anda. Lihat Membuat dan mengelola aturan firewall Azure Database for MySQL Flexible Server menggunakan Azure CLI.
Pasang Python dan konektor MySQL
Instal Python dan konektor MySQL untuk Python di komputer Anda dengan menggunakan langkah-langkah berikut:
Catatan
Mulai cepat ini menggunakan pendekatan kueri SQL mentah untuk menyambungkan ke MySQL. Jika Anda menggunakan kerangka kerja web, gunakan konektor yang direkomendasikan untuk kerangka kerja, misalnya, mysqlclient untuk Django.
Unduh dan instal Python 3.7 atau yang lebih tinggi untuk OS Anda. Pastikan untuk menambahkan Python ke
PATH
Anda, karena konektor MySQL memerlukannya.Buka prompt perintah atau
bash
shell, dan periksa versi Python Anda dengan menjalankanpython -V
lewat sakelar huruf V besar.pip
Penginstal paket disertakan dalam versi terbaru Python. Perbaruipip
ke versi terbaru dengan menjalankanpip install -U pip
.Jika
pip
tidak diinstal, Anda dapat mengunduh dan menginstalnya denganget-pip.py
. Untuk informasi selengkapnya, lihat instalasi.Gunakan
pip
untuk menginstal konektor MySQL untuk Python dan dependensinya:pip install mysql-connector-python
Anda juga dapat menginstal konektor Python untuk MySQL dari mysql.com. Untuk informasi selengkapnya tentang Konektor MySQL untuk Python, lihat Panduan Pengembang Konektor MySQL/Python.
Mendapatkan informasi koneksi
Dapatkan informasi koneksi yang Anda perlukan untuk menyambungkan ke Azure Database for MySQL Flexible Server dari portal Microsoft Azure. Anda memerlukan nama server, nama database, dan kredensial masuk.
Masuk ke portal Azure.
Di bilah pencarian portal, cari dan pilih instans Azure Database for MySQL Flexible Server yang Anda buat, seperti mydemoserver.
Dari panel Gambaran Umum server, perhatikan Nama server dan Nama login admin server. Jika Anda lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari halaman ini.
Sampel kode
Jalankan di bawah sampel kode Python yang disebutkan di bawah ini
Untuk setiap contoh kode dalam artikel ini:
Buat file baru di editor teks.
Tambahkan contoh kode ke file. Dalam kode, ganti tempat penampung
<mydemoserver>
,<myadmin>
,<mypassword>
dan<mydatabase>
dengan nilai untuk server dan database MySQL Anda.Simpan file dalam folder proyek dengan ekstensi .py, seperti C:\pythonmysql\createtable.py atau /home/username/pythonmysql/createtable.py.
Untuk menjalankan kode, buka prompt perintah atau
bash
shell dan ubah direktori ke dalam folder proyek Anda, misalnyacd pythonmysql
. Ketik perintahpython
diikuti dengan nama file, misalnyapython createtable.py
lalu tekan Enter.Catatan
Di Windows, jika python.exe tidak ditemukan, Anda mungkin perlu menambahkan jalur Python ke variabel lingkungan PATH Anda, atau menyediakan jalur lengkap untuk python.exe, misalnya
C:\python27\python.exe createtable.py
.
Membuat tabel dan menyisipkan rekaman
Gunakan kode berikut untuk menyambung ke server, membuat tabel, dan memuat data menggunakan pernyataan INSERT SQL.
Kode mengimpor pustaka mysql.connector, dan menggunakan fungsi connect() untuk menyambungkan ke server fleksibel menggunakan argumen dalam koleksi konfigurasi. Kode menggunakan kursor pada koneksi, dan metode cursor.execute() menjalankan kueri SQL terhadap database MySQL.
import mysql.connector
from mysql.connector import errorcode
# Obtain connection string information from the portal
config = {
'host':'<mydemoserver>.mysql.database.azure.com',
'user':'<myadmin>',
'password':'<mypassword>',
'database':'<mydatabase>'
}
# Construct connection string
try:
conn = mysql.connector.connect(**config)
print("Connection established")
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with the user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
else:
cursor = conn.cursor()
# Drop previous table of same name if one exists
cursor.execute("DROP TABLE IF EXISTS inventory;")
print("Finished dropping table (if existed).")
# Create table
cursor.execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);")
print("Finished creating table.")
# Insert some data into table
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("banana", 150))
print("Inserted",cursor.rowcount,"row(s) of data.")
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("orange", 154))
print("Inserted",cursor.rowcount,"row(s) of data.")
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("apple", 100))
print("Inserted",cursor.rowcount,"row(s) of data.")
# Cleanup
conn.commit()
cursor.close()
conn.close()
print("Done.")
Membaca data
Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT.
Kode mengimpor pustaka mysql.connector, dan menggunakan fungsi connect() untuk menyambungkan ke server fleksibel menggunakan argumen dalam koleksi konfigurasi. Kode menggunakan kursor pada koneksi, dan metode cursor.execute() menjalankan kueri SQL terhadap database MySQL.
Kode membaca baris data menggunakan metode fetchall(), mempertahankan hasil yang diatur dalam baris koleksi, dan menggunakan for
iterator untuk mengulang baris.
import mysql.connector
from mysql.connector import errorcode
# Obtain connection string information from the portal
config = {
'host':'<mydemoserver>.mysql.database.azure.com',
'user':'<myadmin>',
'password':'<mypassword>',
'database':'<mydatabase>'
}
# Construct connection string
try:
conn = mysql.connector.connect(**config)
print("Connection established")
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with the user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
else:
cursor = conn.cursor()
# Read data
cursor.execute("SELECT * FROM inventory;")
rows = cursor.fetchall()
print("Read",cursor.rowcount,"row(s) of data.")
# Print all rows
for row in rows:
print("Data row = (%s, %s, %s)" %(str(row[0]), str(row[1]), str(row[2])))
# Cleanup
conn.commit()
cursor.close()
conn.close()
print("Done.")
Memperbarui data
Gunakan kode berikut untuk menyambungkan dan memperbarui data menggunakan pernyataan SQL UPDATE.
Kode mengimpor pustaka mysql.connector, dan menggunakan fungsi connect() untuk menyambungkan ke server fleksibel menggunakan argumen dalam koleksi konfigurasi. Kode menggunakan kursor pada koneksi, dan metode cursor.execute() menjalankan kueri SQL terhadap database MySQL.
import mysql.connector
from mysql.connector import errorcode
# Obtain connection string information from the portal
config = {
'host':'<mydemoserver>.mysql.database.azure.com',
'user':'<myadmin>',
'password':'<mypassword>',
'database':'<mydatabase>'
}
# Construct connection string
try:
conn = mysql.connector.connect(**config)
print("Connection established")
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with the user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
else:
print(err)
else:
cursor = conn.cursor()
# Update a data row in the table
cursor.execute("UPDATE inventory SET quantity = %s WHERE name = %s;", (200, "banana"))
print("Updated",cursor.rowcount,"row(s) of data.")
# Cleanup
conn.commit()
cursor.close()
conn.close()
print("Done.")
Menghapus data
Gunakan kode berikut untuk menghubungkan dan menghapus data menggunakan pernyataan SQL DELETE.
Kode mengimpor pustaka mysql.connector, dan menggunakan fungsi connect() untuk menyambungkan ke server fleksibel menggunakan argumen dalam koleksi konfigurasi. Kode menggunakan kursor pada koneksi, dan metode cursor.execute() menjalankan kueri SQL terhadap database MySQL.
import mysql.connector
from mysql.connector import errorcode
# Obtain connection string information from the portal
config = {
'host':'<mydemoserver>.mysql.database.azure.com',
'user':'<myadmin>',
'password':'<mypassword>',
'database':'<mydatabase>'
}
# Construct connection string
try:
conn = mysql.connector.connect(**config)
print("Connection established.")
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with the user name or password.")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist.")
else:
print(err)
else:
cursor = conn.cursor()
# Delete a data row in the table
cursor.execute("DELETE FROM inventory WHERE name=%(param1)s;", {'param1':"orange"})
print("Deleted",cursor.rowcount,"row(s) of data.")
# Cleanup
conn.commit()
cursor.close()
conn.close()
print("Done.")
Langkah berikutnya
- Konektivitas terenkripsi menggunakan Keamanan Lapisan Transportasi (TLS 1.2) di Azure Database for MySQL Flexible Server.
- Pelajari selengkapnya tentang Networking in Azure Database for MySQL Flexible Server.
- Membuat dan mengelola aturan firewall Azure Database for MySQL Flexible Server menggunakan portal Microsoft Azure.
- Membuat dan mengelola jaringan virtual Azure Database for MySQL Flexible Server menggunakan portal Microsoft Azure.