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 server fleksibel Azure Database for MySQL.

Prasyarat

Mempersiapkan stasiun kerja klien Anda

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.

  1. Unduh dan instal Python 3.7 atau yang lebih tinggi untuk OS Anda. Pastikan untuk menambahkan Python ke PATH Anda, karena konektor MySQL memerlukannya.

  2. Buka prompt perintah atau bash shell, dan periksa versi Python Anda dengan menjalankan python -V lewat sakelar huruf V besar.

  3. pipPenginstal paket disertakan dalam versi terbaru Python. Perbarui pip ke versi terbaru dengan menjalankan pip install -U pip.

    Jika pip tidak diinstal, Anda dapat mengunduh dan menginstalnya dengan get-pip.py. Untuk informasi selengkapnya, lihat instalasi.

  4. 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 butuhkan untuk menyambungkan ke server fleksibel Azure Database for MySQL dari portal Azure. Anda memerlukan nama server, nama database, dan kredensial masuk.

  1. Masuk ke portal Azure.

  2. Di bilah pencarian portal, cari dan pilih instans server fleksibel Azure Database for MySQL yang Anda buat, seperti mydemoserver.

  3. 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:

  1. Buat file baru di editor teks.

  2. Tambahkan contoh kode ke file. Dalam kode, ganti tempat penampung <mydemoserver>, <myadmin>, <mypassword> dan <mydatabase> dengan nilai untuk server dan database MySQL Anda.

  3. Simpan file dalam folder proyek dengan ekstensi .py, seperti C:\pythonmysql\createtable.py atau /home/username/pythonmysql/createtable.py.

  4. Untuk menjalankan kode, buka prompt perintah atau bash shell dan ubah direktori ke dalam folder proyek Anda, misalnya cd pythonmysql. Ketik perintah python diikuti dengan nama file, misalnya python 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