SlideShare a Scribd company logo
1 of 3
Download to read offline
Koneksi MySQL Dengan Python dan CherryPy
Salah satu kelebihan Python adalah dukungannya terhadap database, Python sudah
mendukung hampir semua database populer yang banyak digunakan saat ini bahkan
Python sudah mendukung ADO dan ODBC.
Beberapa waktu yang lalu saya membaca sebuah pertanyaan pada salah satu thread
milis ID-Python yang berkaitan dengan koneksi database dengan Python (terutama
menggunakan web framework Django).
Sebenarnya sudah cukup lama saya berniat memposting tulisan yang berkaitan dengan
koneksi database MySQL dengan Python. Untuk menghubungkan Python dengan
MySQL dibutuhkan modul Python yang bernama MySQLdb (mysql-python) yang dapat
diunduh di http://sourceforge.net/projects/mysql-python.
Bagi Anda pengguna Linux Slackware, untuk mempermudah proses installasi dapat
menggunakan script SlackBuild yang bisa diunduh
di http://slackbuilds.org/repository/13.37/development/MySQL-python/.
Python dan MySQL
Disini saya tidak akan menjelaskan cara penginstallasian modul MySQLdb dan MySQL
server (silahkan membaca dokumentasi masing-masing item tersebut). Setelah modul
MySQLdb terinstall, mari kita lakukan percobaan dengan menggunakan konsol Python.
Buka konsol Python, bila menggunakan windows silahkan gunakan IDLE (Python GUI)
atau bila Anda menggunakan Linux ketik "python" pada konsol Linux hingga tampil
konsol Python yang ditandai dengan prompt ">>>"
Berikut contoh kecil yang saya ambil dari dokumentasi mysql-python di http://mysql-
python.sourceforge.net/MySQLdb.html, silahkan dibaca untuk dokumentasi lebih
lengkap.
Import modul MySQLDB dan lakukan koneksi ke MySQL, ketikan statement berikut
pada konsol Python
>>> import MySQLdb
>>> db=MySQLdb.connect(passwd="prens",db="db_teman")
Mengaktifkan cursor dan definisikan serta mengeksekusi query
>>> c=db.cursor()
>>> c.execute('select * from daftar_teman')
Tampilkan data dari query yang sudah kita definisikan
>>> c.fetchone()
Baris perintah diatas akan menampilkan satu baris data dalam bentuk 'Tuple',
contohnya :
('BEJO','LAKI-LAKI','JAKARTA')
Untuk menampilkan data lebih dari satu baris gunakan perintah berikut
>>> c.fetchmany(n)
"n" adalah jumlah baris yang ingin ditampilkan, atau gunakan perintah berikut untuk
menampilkan semua data yang ada
>>> c.fetchall()
Untuk menampilkan data masing-masing value dari data tuple hasil perintah 'fetch'
diatas gunakan perintah berikut ini :
>>> t=c.fetchone()
>>> t[0]
BEJO
>>> t[1]
LAKI-LAKI
>>> t[2]
JAKARTA
Mudah bukan, hasil keluaran yang berupa tuple ini masih dapat kita olah hingga kita
mendapatkan format tampilan yang kita inginkan.
CherryPy dan MySQL
Sekarang kita akan menggabungkan contoh diatas dengan contoh aplikasi CherryPy
yang sebelumnya sudah kita buat dengan sedikit modifkasi berdasarkan contoh yang
ada di dokumentasi CherryPy.
Edit file template "test.html" yang sebelumnya sudah kita buat, menjadi seperti berikut
ini :
<h1>
{{ tes1 }}
</h1>
<table border="1">
<tr>
<td>NAMA</td>
<td>KELAMIN</td>
<td>KOTA</td>
</tr>
{% for data in tes2 %}
<tr>
<td>{{ data[0] }}</td>
<td>{{ data[1] }}</td>
<td>{{ data[2] }}</td>
</tr>
{% endfor %}
</table>
Sekarang edit file handler atau file utama aplikasi CherryPy kita dengan nama file
"cherry.py", seperti berikut ini:
import sys
sys.stdout = sys.stderr
import atexit
import threading
import cherrypy
from jinja2 import Environment, FileSystemLoader
import MySQLdb
# mendefinisikan folder penyimpanan file template yang dibuat
env = Environment(loader=FileSystemLoader('/var/www/htdocs/cherry'))
cherrypy.config.update({'environment': 'embedded'})
if cherrypy.__version__.startswith('3.0') and cherrypy.engine.state==0:
cherrypy.engine.start(blocking=False)
atexit.register(cherrypy.engine.stop)
def connect(thread_index):
# membuka dan membuat koneksi ke MySQL server
cherrypy.thread_data.db=MySQLdb.connect('localhost','root','prens','db_teman')
# mengeksekusi fungsi connect
cherrypy.engine.subscribe('start_thread', connect)
class Root(object):
def index(self):
c=cherrypy.thread_data.db.cursor()
c.execute('select * from daftar_teman')
t=c.fetchall()
c.close
tmpl = env.get_template('test.html')
return tmpl.render(
tes1='Koneksi Database CherryPy',
tes2=t
)
index.exposed = True
application = cherrypy.Application(Root(), script_name=None, config=None)
Untuk menggunakan contoh disini pastikan Anda sudah membuat database dan
tabelnya sesuai contoh, sekarang silahkan coba di web browser ketikan
http://localhost/cherry/

More Related Content

What's hot

Perintah dasar linux (Pemula)
Perintah dasar linux (Pemula)Perintah dasar linux (Pemula)
Perintah dasar linux (Pemula)Dayatx Dxd
 
Membuat mail server di ubuntu
Membuat mail server di ubuntuMembuat mail server di ubuntu
Membuat mail server di ubuntuIwan Kurniarasa
 
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...Tobing Manuppak
 
Konfigurasi dhcp (linux debian)
Konfigurasi dhcp (linux debian)Konfigurasi dhcp (linux debian)
Konfigurasi dhcp (linux debian)Ujang Maulana
 
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQL
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQLBelajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQL
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQLTobing Manuppak
 
Instalasi Proxy & Samba Server (Debian)
Instalasi Proxy & Samba Server (Debian)Instalasi Proxy & Samba Server (Debian)
Instalasi Proxy & Samba Server (Debian)Julio Mukhlishin
 
Database operation di C++
Database operation di C++Database operation di C++
Database operation di C++FgroupIndonesia
 
100 perintah dasar linux
100 perintah dasar linux100 perintah dasar linux
100 perintah dasar linuxALI FIKRI
 
Dasar dasar perintah linux dan sistem derektory pada linux ok
Dasar dasar perintah linux dan sistem derektory pada linux okDasar dasar perintah linux dan sistem derektory pada linux ok
Dasar dasar perintah linux dan sistem derektory pada linux okNie Andini
 
Router dan proxy server di debian 5
Router dan proxy server di debian 5Router dan proxy server di debian 5
Router dan proxy server di debian 5Hendi Alfiandi
 
Belajar pemrograman berbasis web php dhtmlx part 6 export data
Belajar pemrograman berbasis web php dhtmlx part 6   export dataBelajar pemrograman berbasis web php dhtmlx part 6   export data
Belajar pemrograman berbasis web php dhtmlx part 6 export dataTobing Manuppak
 
Working Instruction Instalation Owncloud On Centos 6
Working Instruction Instalation Owncloud On Centos 6Working Instruction Instalation Owncloud On Centos 6
Working Instruction Instalation Owncloud On Centos 6Febi Gelar Ramadhan
 
Pembahasansoallks2013
Pembahasansoallks2013Pembahasansoallks2013
Pembahasansoallks2013dedd_simbolon
 
Dokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlDokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlAhmad Haris
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh serverOcto Ayomy
 

What's hot (20)

Perintah dasar linux (Pemula)
Perintah dasar linux (Pemula)Perintah dasar linux (Pemula)
Perintah dasar linux (Pemula)
 
Membuat mail server di ubuntu
Membuat mail server di ubuntuMembuat mail server di ubuntu
Membuat mail server di ubuntu
 
Php curl
Php curlPhp curl
Php curl
 
Ip address
Ip addressIp address
Ip address
 
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...
Belajar pemrograman berbasis web php dhtmlx part 10 simple crud dhtmlx dan co...
 
Fungsi php mysql
Fungsi php mysqlFungsi php mysql
Fungsi php mysql
 
Perintah Dasar Linux
Perintah Dasar LinuxPerintah Dasar Linux
Perintah Dasar Linux
 
Konfigurasi dhcp (linux debian)
Konfigurasi dhcp (linux debian)Konfigurasi dhcp (linux debian)
Konfigurasi dhcp (linux debian)
 
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQL
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQLBelajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQL
Belajar pemrograman berbasis web menggunakan DHTMLX, PHP dan MySQL
 
Instalasi Proxy & Samba Server (Debian)
Instalasi Proxy & Samba Server (Debian)Instalasi Proxy & Samba Server (Debian)
Instalasi Proxy & Samba Server (Debian)
 
Database operation di C++
Database operation di C++Database operation di C++
Database operation di C++
 
Kalengkian pws
Kalengkian pwsKalengkian pws
Kalengkian pws
 
100 perintah dasar linux
100 perintah dasar linux100 perintah dasar linux
100 perintah dasar linux
 
Dasar dasar perintah linux dan sistem derektory pada linux ok
Dasar dasar perintah linux dan sistem derektory pada linux okDasar dasar perintah linux dan sistem derektory pada linux ok
Dasar dasar perintah linux dan sistem derektory pada linux ok
 
Router dan proxy server di debian 5
Router dan proxy server di debian 5Router dan proxy server di debian 5
Router dan proxy server di debian 5
 
Belajar pemrograman berbasis web php dhtmlx part 6 export data
Belajar pemrograman berbasis web php dhtmlx part 6   export dataBelajar pemrograman berbasis web php dhtmlx part 6   export data
Belajar pemrograman berbasis web php dhtmlx part 6 export data
 
Working Instruction Instalation Owncloud On Centos 6
Working Instruction Instalation Owncloud On Centos 6Working Instruction Instalation Owncloud On Centos 6
Working Instruction Instalation Owncloud On Centos 6
 
Pembahasansoallks2013
Pembahasansoallks2013Pembahasansoallks2013
Pembahasansoallks2013
 
Dokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysqlDokumentasi komparasi incremental backup oracle dengan mysql
Dokumentasi komparasi incremental backup oracle dengan mysql
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh server
 

Viewers also liked

A combined safari to mikumi
A combined safari to mikumiA combined safari to mikumi
A combined safari to mikumiMwema Hudson
 
Resume sydney post
Resume sydney postResume sydney post
Resume sydney postsydneypost
 
Factsheet Amsterdam Airport Area
Factsheet Amsterdam Airport AreaFactsheet Amsterdam Airport Area
Factsheet Amsterdam Airport AreaJoep Schroeders
 
JAWS-UG re:Mote WorkSpacesを試してみました
JAWS-UG re:Mote WorkSpacesを試してみましたJAWS-UG re:Mote WorkSpacesを試してみました
JAWS-UG re:Mote WorkSpacesを試してみましたHideki Itou
 
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBA
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBAAutomotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBA
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBAAli Raza
 
IRDC Theory and practice of building instruments for diffuse reflectance meas...
IRDC Theory and practice of building instruments for diffuse reflectance meas...IRDC Theory and practice of building instruments for diffuse reflectance meas...
IRDC Theory and practice of building instruments for diffuse reflectance meas...Bob Schumann
 
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会山形県東置賜郡川西町Facebook入門セミナーin川西町商工会
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会新潟コンサルタント横田秀珠
 
Open mp library functions and environment variables
Open mp library functions and environment variablesOpen mp library functions and environment variables
Open mp library functions and environment variablesSuveeksha
 
Ppt of shamim sir brand war
Ppt of shamim sir brand warPpt of shamim sir brand war
Ppt of shamim sir brand warANSHU TIWARI
 
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報SORACOM,INC
 
Diapo clément julie noreen
Diapo clément julie noreenDiapo clément julie noreen
Diapo clément julie noreenyoyobig
 
Erstes fek griechenlands
Erstes fek griechenlandsErstes fek griechenlands
Erstes fek griechenlandsThomas Pascoe
 

Viewers also liked (19)

ACCA.2
ACCA.2ACCA.2
ACCA.2
 
ACCA.1
ACCA.1ACCA.1
ACCA.1
 
A combined safari to mikumi
A combined safari to mikumiA combined safari to mikumi
A combined safari to mikumi
 
Kitchen2
Kitchen2Kitchen2
Kitchen2
 
Proyecto Página Web
Proyecto Página WebProyecto Página Web
Proyecto Página Web
 
Resume sydney post
Resume sydney postResume sydney post
Resume sydney post
 
Evacuation
EvacuationEvacuation
Evacuation
 
Factsheet Amsterdam Airport Area
Factsheet Amsterdam Airport AreaFactsheet Amsterdam Airport Area
Factsheet Amsterdam Airport Area
 
Onmest 2 itinerary
Onmest 2  itineraryOnmest 2  itinerary
Onmest 2 itinerary
 
JAWS-UG re:Mote WorkSpacesを試してみました
JAWS-UG re:Mote WorkSpacesを試してみましたJAWS-UG re:Mote WorkSpacesを試してみました
JAWS-UG re:Mote WorkSpacesを試してみました
 
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBA
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBAAutomotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBA
Automotive industry in Pakistan. By Ali Raza Behrani under-graduate of SIBA
 
IRDC Theory and practice of building instruments for diffuse reflectance meas...
IRDC Theory and practice of building instruments for diffuse reflectance meas...IRDC Theory and practice of building instruments for diffuse reflectance meas...
IRDC Theory and practice of building instruments for diffuse reflectance meas...
 
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会山形県東置賜郡川西町Facebook入門セミナーin川西町商工会
山形県東置賜郡川西町Facebook入門セミナーin川西町商工会
 
Open mp library functions and environment variables
Open mp library functions and environment variablesOpen mp library functions and environment variables
Open mp library functions and environment variables
 
Ppt of shamim sir brand war
Ppt of shamim sir brand warPpt of shamim sir brand war
Ppt of shamim sir brand war
 
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報
SORACOM UG Miyagi #1 | IoT通信プラットフォーム SORACOM のご紹介と最新情報
 
Linfoma no hodgkin
Linfoma no hodgkinLinfoma no hodgkin
Linfoma no hodgkin
 
Diapo clément julie noreen
Diapo clément julie noreenDiapo clément julie noreen
Diapo clément julie noreen
 
Erstes fek griechenlands
Erstes fek griechenlandsErstes fek griechenlands
Erstes fek griechenlands
 

Similar to My sql python_cherrypy

Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanYusuf A.H.
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQLHari Setiaji
 
TM-4-5-6 SQLite Database.pptx
TM-4-5-6 SQLite Database.pptxTM-4-5-6 SQLite Database.pptx
TM-4-5-6 SQLite Database.pptxAdityaWahyuR2
 
Database Operation di VB.NET
Database Operation di VB.NETDatabase Operation di VB.NET
Database Operation di VB.NETFgroupIndonesia
 
Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Devi Apriansyah
 
Di2k sq lite-command-line
Di2k sq lite-command-lineDi2k sq lite-command-line
Di2k sq lite-command-linefajarnugroho_id
 
Tahap instalasi-postgresql-di-windows
Tahap instalasi-postgresql-di-windowsTahap instalasi-postgresql-di-windows
Tahap instalasi-postgresql-di-windowsAlly Florez
 
9.1 gatewae server
9.1 gatewae server9.1 gatewae server
9.1 gatewae serverwayan abyong
 
Jeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsJeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsIndividual Consultants
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleLaboratorium Sirkel
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Al-dhimas Purnama
 
Pemrograman berorientasi-objek
Pemrograman berorientasi-objekPemrograman berorientasi-objek
Pemrograman berorientasi-objekaris_27
 

Similar to My sql python_cherrypy (20)

Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by Yussan
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQL
 
Tugas php
Tugas phpTugas php
Tugas php
 
TM-4-5-6 SQLite Database.pptx
TM-4-5-6 SQLite Database.pptxTM-4-5-6 SQLite Database.pptx
TM-4-5-6 SQLite Database.pptx
 
Database Operation di VB.NET
Database Operation di VB.NETDatabase Operation di VB.NET
Database Operation di VB.NET
 
Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)Laporan praktikum modul 5 (pemrogrman database dengan odbc)
Laporan praktikum modul 5 (pemrogrman database dengan odbc)
 
Di2k sq lite-command-line
Di2k sq lite-command-lineDi2k sq lite-command-line
Di2k sq lite-command-line
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Insert dan View Data.pptx
Insert dan View Data.pptxInsert dan View Data.pptx
Insert dan View Data.pptx
 
Tahap instalasi-postgresql-di-windows
Tahap instalasi-postgresql-di-windowsTahap instalasi-postgresql-di-windows
Tahap instalasi-postgresql-di-windows
 
Mysql rahmat
Mysql rahmatMysql rahmat
Mysql rahmat
 
Mysql rahmat
Mysql rahmatMysql rahmat
Mysql rahmat
 
9.1 gatewae server
9.1 gatewae server9.1 gatewae server
9.1 gatewae server
 
Jeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic ServletsJeni Web Programming Bab 2 Basic Servlets
Jeni Web Programming Bab 2 Basic Servlets
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Bab ii
Bab iiBab ii
Bab ii
 
Modul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBCModul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBC
 
Php dan MySQL 4
Php dan MySQL 4Php dan MySQL 4
Php dan MySQL 4
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1
 
Pemrograman berorientasi-objek
Pemrograman berorientasi-objekPemrograman berorientasi-objek
Pemrograman berorientasi-objek
 

My sql python_cherrypy

  • 1. Koneksi MySQL Dengan Python dan CherryPy Salah satu kelebihan Python adalah dukungannya terhadap database, Python sudah mendukung hampir semua database populer yang banyak digunakan saat ini bahkan Python sudah mendukung ADO dan ODBC. Beberapa waktu yang lalu saya membaca sebuah pertanyaan pada salah satu thread milis ID-Python yang berkaitan dengan koneksi database dengan Python (terutama menggunakan web framework Django). Sebenarnya sudah cukup lama saya berniat memposting tulisan yang berkaitan dengan koneksi database MySQL dengan Python. Untuk menghubungkan Python dengan MySQL dibutuhkan modul Python yang bernama MySQLdb (mysql-python) yang dapat diunduh di http://sourceforge.net/projects/mysql-python. Bagi Anda pengguna Linux Slackware, untuk mempermudah proses installasi dapat menggunakan script SlackBuild yang bisa diunduh di http://slackbuilds.org/repository/13.37/development/MySQL-python/. Python dan MySQL Disini saya tidak akan menjelaskan cara penginstallasian modul MySQLdb dan MySQL server (silahkan membaca dokumentasi masing-masing item tersebut). Setelah modul MySQLdb terinstall, mari kita lakukan percobaan dengan menggunakan konsol Python. Buka konsol Python, bila menggunakan windows silahkan gunakan IDLE (Python GUI) atau bila Anda menggunakan Linux ketik "python" pada konsol Linux hingga tampil konsol Python yang ditandai dengan prompt ">>>" Berikut contoh kecil yang saya ambil dari dokumentasi mysql-python di http://mysql- python.sourceforge.net/MySQLdb.html, silahkan dibaca untuk dokumentasi lebih lengkap. Import modul MySQLDB dan lakukan koneksi ke MySQL, ketikan statement berikut pada konsol Python >>> import MySQLdb >>> db=MySQLdb.connect(passwd="prens",db="db_teman") Mengaktifkan cursor dan definisikan serta mengeksekusi query >>> c=db.cursor() >>> c.execute('select * from daftar_teman') Tampilkan data dari query yang sudah kita definisikan >>> c.fetchone() Baris perintah diatas akan menampilkan satu baris data dalam bentuk 'Tuple', contohnya :
  • 2. ('BEJO','LAKI-LAKI','JAKARTA') Untuk menampilkan data lebih dari satu baris gunakan perintah berikut >>> c.fetchmany(n) "n" adalah jumlah baris yang ingin ditampilkan, atau gunakan perintah berikut untuk menampilkan semua data yang ada >>> c.fetchall() Untuk menampilkan data masing-masing value dari data tuple hasil perintah 'fetch' diatas gunakan perintah berikut ini : >>> t=c.fetchone() >>> t[0] BEJO >>> t[1] LAKI-LAKI >>> t[2] JAKARTA Mudah bukan, hasil keluaran yang berupa tuple ini masih dapat kita olah hingga kita mendapatkan format tampilan yang kita inginkan. CherryPy dan MySQL Sekarang kita akan menggabungkan contoh diatas dengan contoh aplikasi CherryPy yang sebelumnya sudah kita buat dengan sedikit modifkasi berdasarkan contoh yang ada di dokumentasi CherryPy. Edit file template "test.html" yang sebelumnya sudah kita buat, menjadi seperti berikut ini : <h1> {{ tes1 }} </h1> <table border="1"> <tr> <td>NAMA</td> <td>KELAMIN</td> <td>KOTA</td> </tr> {% for data in tes2 %} <tr> <td>{{ data[0] }}</td> <td>{{ data[1] }}</td> <td>{{ data[2] }}</td> </tr>
  • 3. {% endfor %} </table> Sekarang edit file handler atau file utama aplikasi CherryPy kita dengan nama file "cherry.py", seperti berikut ini: import sys sys.stdout = sys.stderr import atexit import threading import cherrypy from jinja2 import Environment, FileSystemLoader import MySQLdb # mendefinisikan folder penyimpanan file template yang dibuat env = Environment(loader=FileSystemLoader('/var/www/htdocs/cherry')) cherrypy.config.update({'environment': 'embedded'}) if cherrypy.__version__.startswith('3.0') and cherrypy.engine.state==0: cherrypy.engine.start(blocking=False) atexit.register(cherrypy.engine.stop) def connect(thread_index): # membuka dan membuat koneksi ke MySQL server cherrypy.thread_data.db=MySQLdb.connect('localhost','root','prens','db_teman') # mengeksekusi fungsi connect cherrypy.engine.subscribe('start_thread', connect) class Root(object): def index(self): c=cherrypy.thread_data.db.cursor() c.execute('select * from daftar_teman') t=c.fetchall() c.close tmpl = env.get_template('test.html') return tmpl.render( tes1='Koneksi Database CherryPy', tes2=t ) index.exposed = True application = cherrypy.Application(Root(), script_name=None, config=None) Untuk menggunakan contoh disini pastikan Anda sudah membuat database dan tabelnya sesuai contoh, sekarang silahkan coba di web browser ketikan http://localhost/cherry/