Cara menggunakan python in php

Lompati ke konten utama

Browser ini sudah tidak didukung.

Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.

Mulai Cepat: Menggunakan PHP untuk menyambungkan dan membuat kueri dari data di Azure Database for MySQL - Flexible Server

  • Artikel
  • 07/27/2022
  • 6 menit untuk membaca

Dalam artikel ini

[BERLAKU UNTUK:

Cara menggunakan python in php
Azure Database for MySQL - Server Fleksibel

Dalam mulai cepat ini, Anda terhubung ke Azure Database for MySQL Flexible Server dengan menggunakan Python. Kemudian, Anda menggunakan pernyataan SQL untuk mengkueri, 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. Dengan akun gratis Azure, Anda sekarang dapat mencoba Azure Database for MySQL - Flexible Server secara gratis selama 12 bulan. Untuk detail selengkapnya, lihat Coba Flexible Server secara gratis.

  • Azure Database for MySQL Flexible Server. Untuk membuat server yang fleksibel, lihat Membuat Azure Database for MySQL Flexible Server menggunakan portal Microsoft Azure atau Membuat Database Azure Database for MySQL Flexible ServerL 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.

Instal 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 perlukan untuk menyambungkan ke Azure Database for MySQL Flexible Server dari portal Microsoft Azure. Anda memerlukan nama server, nama database, dan kredensial masuk.

  1. Masuk ke portal Microsoft Azure.

  2. Di blade pencarian portal, cari dan pilih Azure Database for MySQL Flexible Server yang Anda buat, seperti mydemoserver.

  3. Dari panel Gambaran Umum server, perhatikan Nama server dan Nama login admin server. Jika 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. Membuat 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.")

Perbarui 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 Jaringan di 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.