Selasa, 03 Agustus 2021

CRUD Database Python dan Sqlite3 Part 2


Artikel ini merupakan lanjutan dari artike sebelumnya yang menjelas kan tentang input data dan mennampilkan data. Pada Artikel ini saya membuat tiga buah file yakni Update.py, Delete.py dan Search.py. Yang masing-masing mempunyai fungsinya masing-masing sesuai dengan namanya.
Oke kita langsung ke tahap pembuatan file-filenya. File Search.py berisi kode:
import sqlite3
conn = sqlite3.connect(‘testDB.db’)
print (“database sukses terbuka”)
def search():
global srccolumn,searching
#default srccolumn
print(‘Search data table Company, if it leave blank will be searched by ID’)
srccolumn = input(‘Enter searching by column :’)
if srccolumn == ”:
srccolumn = ‘ID’
searching = str(input(‘Search :’))
cursor = conn.execute(“SELECT ID, NAME, ADDRESS, SALARY from COMPANY where ” + srccolumn +” like ‘”+ searching +”%’;”)
for row in cursor:
print (“ID = “,row[0])
print (“NAME = “,row[1])
print (“ADRRESS = “,row[2])
print (“SALARY = “,row[3],”\n”)
print (“Operasi sukses”);
search()
conn.close()
Ini merupakan pencarian dimana kita bisa menentukan atribut yang akan dicari seperti berapa salarynya atau alamatnya. Tetapi bila kita ingin mencarinya berdasarkan idnya maka kosongkan inputnya.
Selanjutnya mari kita buat file Delete.py yang berfungsi untuk menghapus data yang sudah tersimpan pada database.
#!/usr/bin/python
import sqlite3
conn = sqlite3.connect(‘testDB.db’)
print (“database sukses terbuka”);
def delete():
global ids
ids = str(input(‘Which id do you want to delete :’))
conn.execute(‘delete from COMPANY where id=’+ids)
conn.commit()
print (“Jumlah data terhapus :”, conn.total_changes)
cursor = conn.execute(“SELECT ID, NAME, ADDRESS, SALARY from COMPANY”)
for row in cursor:
print (“ID = “,row[0])
print (“NAME = “,row[1])
print (“ADRRESS = “,row[2])
print (“SALARY = “,row[3],”\n”)
delete()
Ini menghapus data berdasarkan id yang dimasukan. File ini belum ditambahkan konfirmasi unrtuk menghapus data tersebut.Bila ingin tambahkan konfirmasi penghapusan data tinggal tambah global variabel confirmation dan buat logika if kalau user memasukan Y atau y maka hapus data tersebut.
Selanjutnya kita membuat file Update.py untuk mensunting data yang sudah tersimpan.
import sqlite3
conn = sqlite3.connect(‘testDB.db’)
print (“database sukses terbuka”);
def update():
global ids, salaries
ids = str(input(‘Enter the ID that you want to change:’))
salaries = input(‘Enter salary to change:’)
conn.execute(“UPDATE COMPANY set SALARY =”+ salaries +” where ID=”+ ids +””)
conn.commit()
print (“Jumlah data terupdate :”, conn.total_changes)
cursor = conn.execute(“SELECT ID, NAME, ADDRESS, SALARY from COMPANY where ID=”+ids)
for row in cursor:
print (“ID = “,row[0])
print (“NAME = “,row[1])
print (“ADRRESS = “,row[2])
print (“SALARY = “,row[3],”\n”)
print (“Operasi sukses”);
update()
conn.close()
Pada file Update.py ini mensunting SALARY pada id yang dimasukan. FIle ini masih bisa dikembangkan sesuai dengan kebutuhan.
Note : Untuk pengguna database selain sqlite3 tinggal mengganti variabel conn.

Tidak ada komentar:

Posting Komentar