Menampilkan data mysql di python

Pada buku ini, Anda akan mempelajari sejumlah projek database MySQL menggunakan PyQt. Dalam merancang GUI, Anda akan memanfaatkan perangkat Qt Designer.

Pada bab pertama, Anda akan belajar: Menggunakan widget Label; Menggunakan widget Line Edit; Menggunakan List Widget; dan Menggunakan Calendar Widget.

Pada bab dua, Anda akan mengeksplorasi MySQL melalui skrip Pyton. Di sini, Anda akan belajar setiap pekerjaan yang berkaitan dengan penanganan database MySQL: Menciptakan database dengan Python; Menciptakan tabel database dengan Python; Menyisipkan baris pada tabel database dengan Python; Menampilkan baris data pada tabel database dengan Python; Menavigasi baris-baris pada tabel database dengan Python; Melakukan pencarian informasi tertentu pada tabel database dengan Python; Menghapus baris data dari tabel database dengan Python; Menghapus tabel database dengan Python; Memperbarui tabel database dengan Python; dan Menggabungkan dua atau lebih tabel database dengan Python.

Pada bab tiga ini, Anda akan mempelajari: Menciptakan projek dua tabel pada sistem database guru-kelas; Menciptakan file konfigurasi database; Menciptakan GUI Python untuk menyisipkan dan mengedit tabel; dan Menciptakan GUI Python untuk menggabungkan dan melakukan query atas tabel.

Pada bab empat, Anda akan belajar membangun sistem database rumah sakit, yang pada tahap awal, menggunakan dua tabel. Di sini, Anda akan belajar: Menciptakan projek dua tabel pada sistem database rumah sakit; Menciptakan file konfigurasi database; Menciptakan GUI Python untuk menyisipkan dan mengedit pada kedua tabel; Menciptakan GUI Python untuk menggabungkan dan melakukan query atas kedua tabel;

Pada bab lima, Anda akan belajar membangun sistem database rumah sakit tahap kedua, yang menggunakan lima tabel. Anda akan mempelajari: Menciptakan projek lima tabel pada sistem database rumah sakit; Menciptakan file konfigurasi database; Menciptakan GUI Python untuk menyisipkan dan mengedit pada kelima tabel; dan Menciptakan GUI Python untuk menggabungkan dan melakukan query atas kelima tabel.

Apa itu Sidang Juri?

Sidang juri menggunakan sekelompok rekan di samping hakim. Pengadilan juri adalah pengadilan pidana atau perdata . Di Amerika Serikat, biasanya ada 12 juri dalam pengadilan kriminal ….

Read more

Apa itu Pembunuhan Ganda?

Seorang detektif dapat menyelidiki pembunuhan ganda. Sebuah pembunuhan ganda adalah pembunuhan atau kematian melanggar hukum dua korban oleh salah satu pelaku. Ini biasanya deskripsi keadaan, bukan istilah…

Read more

Apa itu Panggilan Grand Juri?

Seseorang dapat dikeluarkan panggilan pengadilan untuk muncul di hadapan dewan juri. Sebuah dewan juri ulasan bukti yang diajukan oleh jaksa dalam investigasi kriminal dan menentukan apakah ada…

Read more

Lompati ke konten utama

Browser ini sudah tidak didukung.

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

Panduan mulai Cepat: Menggunakan Python untuk membuat sambungan dan mengajukan kueri untuk data di Azure Database for MySQL

  • Artikel
  • 10/05/2022
  • 5 menit untuk membaca

Dalam artikel ini

BERLAKU UNTUK:

Menampilkan data mysql di python
Azure Database for MySQL - Server Tunggal

Penting

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

Dalam panduan mulai cepat ini, Anda membuat sambungan ke 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.

Prasyarat

Untuk mulai cepat ini, Anda perlu:

  • Akun Azure dengan langganan aktif. Membuat akun secara gratis.

  • Buat server tunggal Azure Database for MySQL dengan menggunakanportal Microsoft Azure
    atau Azure CLI jika Anda tidak memilikinya.

  • Berdasarkan pada penggunaan akses publik atau privat Anda, selesaikan SALAH SATU tindakan di bawah ini untuk mengaktifkan konektivitas.

    TindakanMetode konektivitasPanduan
    Mengonfigurasi aturan firewall Publik Portal
    CLI
    Mengonfigurasi Titik Akhir Layanan Publik Portal
    CLI
    Mengonfigurasi tautan privat Privat Portal
    CLI
  • Membuat database dan pengguna non-admin

Pasang Python dan konektor MySQL

Instal Python dan konektor MySQL untuk Python di komputer Anda dengan menggunakan langkah-langkah berikut:

  1. Unduh dan pasangPython 3.7 atau yang lebih baruuntuk 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
    

Mendapatkan informasi koneksi

Dapatkan informasi sambungan yang Anda perlukan agar dapat tersambung ke Azure Database for MySQL dari portal Microsoft Azure. Anda memerlukan nama server, nama database, dan info masuk login.

  1. Masuk keportal Microsoft Azure.

  2. Di bilah pencarian portal, cari dan pilih server Azure Database for MySQL yang Anda buat, sepertimydemoserver.

    Menampilkan data mysql di python

  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.

    Menampilkan data mysql di python

Menjalankan sampel kode Python

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. SSL diaktifkan secara default di server Azure Database for MySQL. Anda mungkin perlu mengunduhsertifikat SSL DigiCertGlobalRootG2untuk membuat sambungan dari lingkungan lokal Anda. Ganti nilai ssl_ca dalam kode dengan jalur ke file ini di komputer Anda.

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

  5. 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.

Langkah 1: Buat tabel dan masukkan data

Gunakan kode berikut untuk membuat sambungan ke server dan database, membuat tabel, dan memuat data dengan menggunakan pernyataan SQLSISIPKAN. Kode mengimpor pustaka mysql.connector, dan menggunakan metode:

  • connect()berfungsi untuk membuat sambungan ke Azure Database for MySQL dengan menggunakan argumendalam kumpulan konfigurasi.
  • Metodecursor.execute()mengeksekusi kueri SQL terhadap database MySQL.
  • cursor.close()setelah Anda selesai menggunakan kursor.
  • conn.close()untuk menutup koneksi.
import mysql.connector
from mysql.connector import errorcode

# Obtain connection string information from the portal

config = {
  'host':'<mydemoserver>.mysql.database.azure.com',
  'user':'<myadmin>@<mydemoserver>',
  'password':'<mypassword>',
  'database':'<mydatabase>',
  'client_flags': [mysql.connector.ClientFlag.SSL],
  'ssl_ca': '<path-to-SSL-cert>/DigiCertGlobalRootG2.crt.pem'
}

# 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.")

Langkah 2: Membaca data

Gunakan kode berikut untuk membuat sambungan dan membaca data dengan menggunakan pernyataan SQLPILIH. Kode mengimpor pustaka mysql.connector, dan menggunakan metodecursor.execute()mengeksekusi kueri SQL terhadap database MySQL.

Kode membaca baris data dengan menggunakan metodefetchall(), menjaga hasil tetap dalam baris kumpulan, dan menggunakanforiterator 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>@<mydemoserver>',
  'password':'<mypassword>',
  'database':'<mydatabase>',
  'client_flags': [mysql.connector.ClientFlag.SSL],
  'ssl_ca': '<path-to-SSL-cert>/DigiCertGlobalRootG2.crt.pem'
}

# 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.")

Langkah 3: Memperbarui data

Gunakan kode berikut untuk membuat sambungan dan memperbarui data dengan menggunakan pernyataan SQLPERBARUI. Kode mengimpor pustaka mysql.connector, dan menggunakan metodecursor.execute()mengeksekusi 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>@<mydemoserver>',
  'password':'<mypassword>',
  'database':'<mydatabase>',
  'client_flags': [mysql.connector.ClientFlag.SSL],
  'ssl_ca': '<path-to-SSL-cert>/DigiCertGlobalRootG2.crt.pem'
}

# 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;", (300, "apple"))
  print("Updated",cursor.rowcount,"row(s) of data.")

  # Cleanup
  conn.commit()
  cursor.close()
  conn.close()
  print("Done.")

Langkah 4: Menghapus data

Gunakan kode berikut untuk membuat sambungan dan menghapus data dengan menggunakan pernyataan SQLHAPUS. Kode mengimpor pustaka mysql.connector, dan menggunakan metodecursor.execute()mengeksekusi 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>@<mydemoserver>',
  'password':'<mypassword>',
  'database':'<mydatabase>',
  'client_flags': [mysql.connector.ClientFlag.SSL],
  'ssl_ca': '<path-to-SSL-cert>/DigiCertGlobalRootG2.crt.pem'
}

# 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.")  

Bersihkan 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