Wajah menggunakan kode kesalahan konektor mysql

Belajar Python. Membuat aplikasi python ataupun menggunakan bahasa pemrograman lain, untuk kepentingan tertentu yang membutuhkan basis data. Dan ada banyak pilihan aplikasi DBMS (Database Management System) yang akan digunakan, kembali lagi pada kebutuhan untuk menggunakan basis data yang mana. Dan khusus pada halaman ini saya memilih MySQL, mempelajari bagaimana membuat koneksi database MySQL dan python

Show

daftar isi

 

MySQL salah satu dari banyak database yang populer, dan biasa digunakan pada aplikasi berbasis web. Tapi MySQL juga mendukung untuk digunakan pada bahasa pemrogramaman lain termasuk Python, selain itu basis data ini juga tidak berbayar alias gratis. Tulisan ini juga bisa dipraktekkan menggunakan MaridDB karena keduanya hampir sama dan juga populer sama-sama

Python memiliki standar dalam melakukan koneksi database yang disebut Python DB-API, dan sebagian besar database yang ada dapat terkoneksi dengannya. Beberapa pilihan database yang bisa digunakan untuk aplikasi Python kamu

  • Peramal
  • mysql
  • mSQL
  • pengganggu
  • postgresql
  • Microsoft SQLServer 2000
  • informix
  • interbase
  • sybase
  • SQLite

DB-API menyediakan struktur minimal standar untuk dapat bekerja dengan database menggunakan python dan menggunakan sintaks yang memungkinkan. API ini mencakup

  • Mengimpor modul API
  • Mendapatkan koneksi ke database
  • Melakukan SQL dan prosedur penyimpanan
  • Menuup koneksi basis data

Kalau kamu tidak mau repot dengan instalasi modul, python sudah memiliki database standar yang disupportnya yaitu SQLite. Seperti yang sudah disampaikan di atas, saya akan mencoba mempelajari bagaimana konsep koneksi database MySQL dan Python

persiapan

Sebelumnya kita akan mempersiapkan terlebih dahulu kebutuhan yang diperlukan

  1. Python 3, tentu saja persiapan pertama harus sudah terinstall python 3 pada sistem kamu
  2. Server MySQL atau server MariaDB, pilih salah satu dan pastikan sudah berjalan dengan baik
  3. virtual env python
  4. Koneksi Internet

Sekarang coba dulu databasenya, saya membuat database bernama demopy lalu mengisi dengan tabel orang dan memasukkan data pada tabel orang. Dan jangan lupa juga untuk menyiapkan satu user beserta passwordnya agar bisa mengakses ke database

Wajah menggunakan kode kesalahan konektor mysql

mysql-connector

Pada percobaan pertama, saya menggunakan mysql-connector untuk koneksi ke database. Untuk itu instal terlebih dahulu menggunakan pip. pip install mysql-connector, karena ada error saat install mysql-connector saya mencoba untuk upgrade pip dan setuptools kemudian coba install mysql-connector kembali. dan ternyata berhasil. Modul ini juga bekerja untuk MariaDB, saya menggunakan MariaDB 10. 3. 22-MariaDB-0+deb10u1 Debian 10 pada praktik ini

Kemudian, buat script berikut ini untuk melakukan tes koneksi ke database

import mysql.connector
from mysql.connector import errorcode

try:
    conx = mysql.connector.connect(user='{user}', password='{password}', host='localhost', database='demopy')
except mysql.connector.Error as err:
    if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Mungkin salah username dan password')
    elif err.errno == errorcode.ER_BAD_DB_ERROR:
        print('database tidak ada')
    else:
        print(err)
else:
    print('Koneksi ke database berhasil')
    conx.close()

Keterangan Kode

  1. Pertama import modul mysql-connection dan juga errorcode
  2. kemudian membuat koneksi ke database pada baris ke 5, sesuaikan dengan informasi login pada database kamu pada
    {user} dengan username yang digunakan untuk login
    {password} dengan kata sandi milik nama pengguna
    localhost tidak perlu diganti karena umumnya menggunakan localhost
    demopy dissuaikan dengan database yang Anda miliki
  3. Pada blok except_ untuk menampilkan pesan error apabila terjadi kesalahan pada koneksi database, error code bisa disuaikan dengan kondisi yang kalian inginkan
  4. Bila koneksi ke database berhasil maka blok kecuali akan dilewati dan langsung menuju ke baris 13 menampilkan print('Koneksi ke database berhasil') serta menutup koneksi database
    import pymysql
    
    db = pymysql.connect('localhost', 'pma', 'rahasia', 'demopy')
    c = db.cursor()
    c.execute('SELECT VERSION()')
    d = c.fetchone()
    print('Versi Database : %s' % d)
    db.close()
    
    0

Wajah menggunakan kode kesalahan konektor mysql

Saya melakukan percobaan script ini dalam 4 kondisi, pertama username/password dibuat salah, database kedua dibuat salah, ketiga semua benar, dan database server keempat di stop. Script berjalan sesuai dengan keinginan

PyMySQL

Setelah sukses mengkoneksikan python ke database menggunakan mysql-connector, saya mencoba menggunakan modul

import pymysql

db = pymysql.connect('localhost', 'pma', 'rahasia', 'demopy')
c = db.cursor()
c.execute('SELECT VERSION()')
d = c.fetchone()
print('Versi Database : %s' % d)
db.close()
1 yang juga bisa bekerja dengan MySQL dan MariaDB. Instal dengan PIP
import pymysql

db = pymysql.connect('localhost', 'pma', 'rahasia', 'demopy')
c = db.cursor()
c.execute('SELECT VERSION()')
d = c.fetchone()
print('Versi Database : %s' % d)
db.close()
_2

Wajah menggunakan kode kesalahan konektor mysql

________satu_______

Pada script kedua ini, saya hanya mencoba untuk memeriksa versi database yang digunakan, pada variabel

import pymysql

db = pymysql.connect('localhost', 'pma', 'rahasia', 'demopy')
c = db.cursor()
c.execute('SELECT VERSION()')
d = c.fetchone()
print('Versi Database : %s' % d)
db.close()
_3 ini untuk melakukan koneksi ke database, urutan dimulai dari host (localhost), username, password, dan database

Wajah menggunakan kode kesalahan konektor mysql

Dari dua percobaan dengan modul berbeda, ternyata sangat mudah melakukan koneksi database MySQL dan Python. Berbekal dengan dua modul ini, kamu bisa membuat aplikasi python yang menggunakan database. Sekarang tinggal pilih lebih suka modul yang mana

mysql-connector-python

Setelah menelusuri lagi tentang koneksu database MySQL dan Python, saya menemukan satu lagi modul yang digunakan untuk koneksi ke database. Proses installasi berhasil lancar tidak ada kendala, modul ini membutuhkan Python Protobuf versi 3 keatas, dnspython, dan lz4 untuk kompresi

Tapi, dalam percobaan ketiga koneksi database MySQL dan Python dengan modul mysql-connector-python ini belum berhasil. Masih menampilkan kesalahan

import pymysql

db = pymysql.connect('localhost', 'pma', 'rahasia', 'demopy')
c = db.cursor()
c.execute('SELECT VERSION()')
d = c.fetchone()
print('Versi Database : %s' % d)
db.close()
_4. Padahal percobaan pertama dan kedua langsung berhasil, entah yang ketiga ini belum berhasil. Mungkin ada setting di database server yang belum benar pada sistem saya. Atau mungkin karena menggunakan MariaDB dan bukan MySQL. Sebab sepertinya ini dibuat oleh MySQL, karena tutorialnya ada di website mysql. com ini alamat lengkapnya https. //dev. mysql. com/doc/dev/connector-python/8. 0/

Kesimpulan

Setelah melakukan tiga percobaan koneksi database MySQL dan Python, saya baru berhasil dengan dua percobaan saja. Meski hanya dua yang sudah berhasil, tapi ini cukup untuk bekal membuat aplikasi yang membutuhkan koneksi ke database MySQL dan MariaDB. Kedua percobaan ini menggunakan python 3. 7. 3, MariaDB 10. 3. 22-MariaDB-0+deb10u1, berikan OS Devuan Linux

Kalau teman-teman ada yang berhasil menggunakan modul mysql-connector-python, boleh share triknya pada kolom komentar di bawah