Bekerja dengan Flask dan MySQL

RB Fajriya Hakim
4 min readJun 7, 2019

--

Assalamuálaikum teman2 yg suka data..

pada materi ini mencoba berbagi cara untuk menghubungkan antara modul Flask di Python dengan database MySQL

Sebaiknya anda install dulu MySQL, setelah itu bisa aktifkan MySQL dengan cara klik “MySQL 8.0 Command Line Client”, kemudian masukkan password yang sama sewaktu kita menginstall MySQL.

jika password kita sesuai, maka akan muncul,

jika setelah memasukkan password, tiba-tiba jendela command line client hilang, berarti server MySQL belum di hidupkan, caranya adalah,

dicari terlebih dahulu letak file “mysqld” yang dalam komputer saya berada didalam folder “C:\MySQL8\bin>” kemudian cari juga letak file “my.ini” yang dalam komputer saya berada pada folder “C:\MySQL8Data>” setelah itu ketikkan perintah berikut,

C:\MySQL8\bin>mysqld --defaults-file="C:\MySQL8Data\my.ini"

jika posisi terlihat diam, maka server MySQL sudah siap digunakan,

kemudian bukalah command prompt yang baru lagi, dan aktifkan kembali “MySQL 8.0 Command Line Client” dengan cara memasukkan password yang benar,

maka akan muncul jendela berikut,

artinya MySQL siap menerima perintah.. :)

Buatlah database “konsumen” dengan tabel “profil” seperti berikut,

mysql> create database konsumen;
mysql> use konsumen;
mysql> create table profil (nama VARCHAR(30) not null, alamat VARCHAR(30) not null);
mysql> show tables;
mysql> desc profil;

sehingga nampak dalam jendela seperti berikut,

database “konsumen” telah kita buat,

kemudian kita akan gunakan flask untuk menghubungkan antara MySQL dengan python, untuk keperluan tersebut harus sudah menginstall flask dan flask-mysqldb (melalui command prompt c:\pip install Flask dan c:\pip install flask-mysqldb). Manual untuk Flask ada disini dan flask-mysqldb ada disini.

from flask import Flask, render_template, request
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '12345678'
app.config['MYSQL_DB'] = 'konsumen'
mysql = MySQL(app)@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == "POST":
details = request.form
Nama = details['name']
Alamat = details['address']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO profil(nama, alamat) VALUES (%s, %s)", (Nama, Alamat))
mysql.connection.commit()
cur.close()
return 'sukses'
return render_template('index.html')
if __name__ == '__main__':
app.run()

kemudian simpanlah dengan nama “konsumen.py” dalam sebuah folder yang telah anda buat terlebih dahulu, misalnya di “C:\flaskmysql>konsumen.py”

kemudian copy juga koding berikut,

<HTML>
<BODY bgcolor="white">
<form method="POST" action="">
<center>
<H1> Profil Konsumen </H1> <br>
Nama <input type = "text" name= "name" /> <br>
Alamat <input type = "text" name = "address" /> <br>
<input type = "submit">
</center>
</form>
</BODY>
</HTML>

kemudian simpanlah dengan nama “index.html” dan buatlah folder baru terlebih dahulu dengan nama “templates” dibawah folder “C:\flaskmysql\templates\index.html” dengan susunan folder dan file seperti berikut,

c:/flaskmysql
|
|-- templates
| |--index.html
|
|-- konsumen.py

setelah itu silahkan buka command prompt baru dan ketikkan perintah,

c:\flaskmysql>python konsumen.py

nampak seperti berikut,

setelah itu terlihat,

artinya program berhasi dijalankan, kemudian bukalah browser baru dan ketikkan http://127.0.0.1:5000

silahkan masukkan Nama dan Alamat kemudian klik submit,

jika berhasil akan muncul,

selanjutnya bisa kita check data kita melalui MySQL dengan cara kembali ke jendela MySQL dan ketikkan perintah berikut,

mysql> select * from profil;

nampak seperti jendela dibawah ini,

berarti anda telah berhasil membuat koneksi antara python-flask dengan MySQL

selamat!

Referensi:

  1. Aditya Malviya, Python-Flask MySQL connection, https://www.codementor.io/adityamalviya/python-flask-mysql-connection-rxblpje73

--

--