Database SQLite dengan Python

Database SQLite dengan Python

SQLite digunakan untuk manajemen database. Disebut Lite karena ringan dan bukan untuk database yang berat melainkan untuk database yang kecil dan ringkas. Pustaka SQLite mandiri, tanpa server, tanpa konfigurasi, dan transaksional. Dalam tutorial ini, kita akan belajar tentang cara membuat database dan mengelolanya menggunakan SQLite.

SQLite sudah diinstal sebelumnya dengan Python, jadi tidak perlu menginstal modul luar apa pun. Kita bisa langsung mengerjakan tugas yang ada.

Langkah 1: Membuat tabel

Hal pertama yang harus dilakukan adalah membuat objek Connection. Harap dicatat bahwa argumen yang diperlukan adalah nama database, yang dapat berupa apa saja yang Anda inginkan dengan ekstensi.db. Dalam kasus saya, saya menamakannya contact.db.

import sqlite3
connection = sqlite3.connect('contacts.db')

Selanjutnya, Anda membuat objek Cursor.

cursor = connection.cursor()

Sekarang Anda dapat menggunakan metode execute() untuk membuat tabel. Sebagai argumen, kami menempatkan “CREATE TABLE” dan nama tabel yang ingin Anda buat dan anggota tabel itu dan tipe datanya masing-masing. Dalam kasus saya, saya memiliki tiga argumen dengan tipe data masing-masing – first_name: text, last_name: text, dan phone_number: text. SQLite menawarkan total 5 tipe data yang berbeda: NULL, Integer (ex: 1985), Real (ex: 78.9), Text, dan Blob (mis: image, mp3, dll.). Rincian lebih lanjut tentang tipe data dapat ditemukan di https://www.sqlite.org/datatype3.html. Dalam hal ini, pastikan untuk menempatkan braket pertama di bawah C di CREATE TABLE.If the spacing is incorrect, you’ll get an error!Kemudian kita menggunakan metode commit() untuk mengeksekusi semuanya. Dan terakhir, kita tutup koneksi menggunakan close().

cursor.execute('''CREATE TABLE contacts(first_name text, last_name text, phone_number text)''')
connection.commit()
connection.close()

Langkah 2: Menambahkan data ke dalam tabel

Untuk memasukkan nilai apa pun ke dalam tabel, kami menggunakan “INSERT INTO contacts VALUE”. Kita dapat menghapus baris kode “CREATE TABLE” setelah tabel dibuat. Dan sebagai gantinya, kami menulis baris berikut.

cursor.execute("INSERT INTO contacts VALUES ('Kaly', 'Raj', '514-555-5555') ")

Harap dicatat bahwa saya melewati tiga argumen: ‘Kaly’, ‘Raj’, dan ‘514-555-5555’. Ketiga argumen ini telah ditentukan sebelumnya sebagai nama depan, nama belakang, dan nomor telepon. Juga, perhatikan bahwa kutipan harus ditempatkan dengan benar agar ini berfungsi (kutipan tunggal jika kutipan luar adalah ganda).

Anda juga dapat memasukkan sejumlah besar dataset sekaligus menggunakan metode executemany(). Dalam hal ini, kami masih menggunakan “INSERT INTO contacts VALUES (?, ?, ?)” tetapi kami menambahkan tanda tanya di dalam tanda kurung, dan setelah koma, kami menambahkan nama daftar.

records = [('Martin', 'Crane', '444-475-5142'), ('Roz', 'Doyle', '123-965-4517')]
cursor.executemany("INSERT INTO contacts VALUES (?, ?, ?)", records)

Langkah 3: Periksa dan perbarui basis data

Untuk memeriksa apa yang ada di database, kita bisa menanyakannya. Sekali lagi, kami menggunakan metode execute() tetapi dengan “SELECT * FROM contacts,” di mana kontak adalah nama database Anda. Untuk menanyakannya, kami menulis yang berikut:

for row in cursor.execute('SELECT * FROM contacts'):
    print(row)

Misalnya, ketika Anda ingin memilih nama belakang tertentu, Anda menggunakan “WHERE last_name = “Crane””. Anda akan menulis kode berikut (yang hanya memilih yang memiliki nama belakang Crane):

for row in cursor.execute('SELECT * FROM contacts WHERE last_name = "Crane"'):
    print(row)

Anda juga dapat menggunakan operator AND. Ini hanya akan memilih input dengan nama depan Martin dan nama belakang Crane.

for row in cursor.execute('SELECT * FROM contacts WHERE last_name = "Crane" AND first_name = "Martin"'):
    print(row)

Anda juga dapat menggunakan operator ATAU. Dalam hal ini, semua Bangau dan semua Bulan sebagai nama belakang akan muncul.

for row in cursor.execute('SELECT * FROM contacts WHERE last_name = "Crane" OR last_name = "Moon"'):
    print(row)

Atau, Anda juga dapat menggunakan perintah LIKE. Perintah LIKE digunakan ketika Anda ingin menemukan sesuatu dengan awal atau akhir yang serupa. Sebagai contoh:

for row in cursor.execute('SELECT * FROM contacts WHERE last_name LIKE "Cr%"'):
    print(row)

Di sini, “Cr%” berarti akan menangkap apa pun yang dimulai dengan Cr dan diakhiri dengan apa pun.

Sekarang, anggaplah Anda ingin memperbarui database (atau, dengan kata lain, memodifikasinya lagi). Dalam kasus saya, misalkan nomor telepon Frasier Crane telah berubah menjadi 555-555-4758, jadi saya perlu memperbarui database dengan nomor barunya. Saat ini, nomornya disetel ke sesuatu yang lain (mis: 638-475-7496).

Dalam hal ini, kami menggunakan perintah UPDATE, SET, dan WHERE. Dalam hal ini, SET digunakan untuk mendefinisikan apa yang ingin kita ubah, dan WHERE digunakan untuk menjelaskan daftar di mana Anda ingin membuat perubahan. Jadi, katakanlah saya ingin mengubah phone_number menjadi 555-555-458, dan mengubahnya menjadi Frasier Crane (first_name = ‘Frasier’), kode untuk memperbarui database adalah sebagai berikut:

cursor.execute("""UPDATE contacts SET phone_number = '555-555-4758' WHERE first_name = 'Frasier'""")

Langkah 4: Menghapus dan menjatuhkan

Sekarang anggaplah Anda membuat error dan ingin menghapus catatan; itu juga mungkin.

cursor.execute("DELETE from contacts WHERE first_name = 'Kaly'")

Sintaksnya di sini sederhana, HAPUS dari kontak WHERE nama depan orang tersebut adalah Kaly. Ini bagus sampai kita memiliki banyak Kaly. Bagaimana jika kita memiliki 10 Kaly? Kemudian semua 10 akan dihapus, dan di sini, rowid akan menjadi pilihan yang lebih baik.

Untuk melihat rowid individu, kita tulis sebagai berikut:

for row in cursor.execute("SELECT rowid, * FROM contacts"):
    print(row)

Untuk menghapusnya, kita bisa menggunakan rowid sebagai ganti nama depan atau belakang (yang bisa jadi umum).

cursor.execute("DELETE from contacts WHERE rowid=2")

Anda juga dapat menghapus seluruh tabel secara keseluruhan! Ini disebut menjatuhkan meja. Yang terakhir dilakukan dengan menggunakan perintah “DROP TABLE” dan nama tabel yang ingin Anda jatuhkan.

cursor.execute("DROP TABLE contacts")

Kesimpulan

SQLite digunakan oleh mereka yang menggunakan Python untuk mengelola database kecil. Pikiran Anda, itu hanya dapat menangani database kecil dan tidak dapat digunakan untuk database besar! Kode yang digunakan untuk membuat dan mengelola database SQLite sederhana dan mudah. Dalam tutorial ini, kita belajar bagaimana menggunakan SQLite dengan python; sebenarnya, kami belajar cara membuat tabel, menambahkan catatan, memperbarui catatan, menghapus catatan, dan menghapus tabel secara keseluruhan. Saya tidak berpikir bahwa kode atau teknik bisa lebih sederhana daripada dengan SQLite.

Selamat Mengkode!

Related Posts