Pemrograman

Dasar-dasar Bekerja dengan Database SQLite dengan Python

Dasar-dasar Bekerja dengan Database SQLite dengan Python

Database adalah salah satu file yang paling berguna dan populer untuk menyimpan data; mereka dapat digunakan untuk menyimpan segala jenis data, termasuk teks, angka, gambar, data biner, file, dll. SQLite adalah sistem manajemen basis data relasional berdasarkan bahasa SQL. Ini adalah pustaka C, dan menyediakan API untuk bekerja dengan bahasa pemrograman lain, termasuk Python. Itu tidak memerlukan proses server terpisah untuk dijalankan sesuai kebutuhan di mesin database besar seperti MySQL dan Postgresql.

Ini cepat dan ringan, dan seluruh database disimpan dalam satu file disk, yang membuatnya portabel seperti CSV atau file penyimpanan data lainnya. Banyak aplikasi menggunakan SQLite untuk penyimpanan data internal, terutama di lingkungan seperti perangkat seluler atau aplikasi kecil.

Basis Data SQLite untuk Python

Mari selami SQLite dengan bahasa pemrograman python. Dalam tutorial ini, kita akan mempelajari keuntungan menggunakan SQLite, dasar-dasar modul python sqlite3, Membuat tabel dalam database, Menyisipkan data ke dalam tabel, Query data dari tabel, dan Update data tabel.

Keuntungan menggunakan SQLite

Keuntungan utama menggunakan SQLite adalah:

SQLite juga digunakan di Google Chrome untuk menyimpan cookie, data Pengguna, dan data penting lainnya, termasuk kata sandi pengguna. OS Android juga menggunakan SQLite sebagai mesin basis data utamanya untuk menyimpan data.

Modul Python SQLite3

Untuk menggunakan SQLite, kami membutuhkan Python untuk diinstal di sistem kami. Jika Anda belum menginstal Python di sistem Anda, Anda dapat merujuk ke panduan langkah demi langkah kami untuk menginstal Python di Linux. Kita bisa menggunakan SQLite dengan Python menggunakan sqlite3 modul tersedia di pustaka standar Python. Gerhard Häring menulis modul sqlite3; ini menyediakan antarmuka SQL yang sesuai dengan DB-API 2.0. Itu sudah diinstal sebelumnya dengan pustaka standar Python, jadi kita tidak perlu khawatir tentang instalasi lebih lanjut.

Membuat Koneksi ke Database

Langkah pertama saat bekerja dengan SQLite di Python adalah menyiapkan koneksi dengan database. Kita dapat melakukan ini dengan menggunakan metode connect() dari sqlite3 untuk mengatur koneksi. Lihatlah kode berikut untuk contoh. Anda cukup menyalin kode ke IDE atau Editor Teks dan menjalankannya. Jika Anda memiliki masalah dalam memilih IDE untuk Python, Anda dapat merujuk ke panduan kami untuk membandingkan IDE python terbaik. Disarankan untuk menulis ulang kode lagi di IDE Anda, dan jika Anda ingin menyalin kode, silakan periksa sintaks dengan kode yang ada di sini.

# mengimpor modul yang diperlukan impor sqlite3 # mengatur koneksi dengan database conn = sqlite3.hubungkan("contoh.db") print("Berhasil terhubung ke database") # menutup koneksi koneksi.Menutup()

Program di atas akan membuat koneksi dengan file database SQLite "sampel".db.” Ini akan memberikan output berikut di terminal.

Mari kita lihat apa yang terjadi pada kode di atas. Pada baris pertama, kita telah mengimpor modul sqlite3, yang akan membantu kita bekerja dengan database SQLite dengan Python.

Di baris kedua, kita membuat koneksi dengan file database SQLite bernama "sample".db” menggunakan Menghubung() fungsi. Fungsi connect() menerima jalur ke file database sebagai argumen. Jika file tidak ada di jalur yang diberikan, maka itu sendiri akan membuat file database baru dengan nama yang diberikan di jalur itu. Fungsi connect() akan mengembalikan objek database dalam program kita; kami menyimpan objek yang dikembalikan ke dalam variabel bernama samb.

Baris ketiga dalam program kami sederhana mencetak pernyataan untuk menampilkan pesan tentang koneksi yang berhasil. Baris terakhir dari program memutuskan koneksi dengan database menggunakan using Menutup() fungsi objek koneksi connection.

Pada contoh sebelumnya, kami telah membuat database ke dalam disk, tetapi kami juga dapat membuat database ke dalam memori utama RAM. Membuat database di RAM membuat eksekusi database lebih cepat dari biasanya. Namun, database akan dibuat sementara, dan saat eksekusi program berhenti, database akan dihapus dari memori. Kita dapat membuat database di memori dengan memberikan nama tertentu :memory: sebagai argumen untuk to Menghubung() fungsi. Lihat program di bawah ini sebagai ilustrasi.

impor sqlite3 samb = sqlite3.connect(":memory:") print("\n [+] Database telah berhasil dibuat di Memory") conn.Menutup()

Program di atas akan membuat database di RAM, dan kita bisa menggunakannya untuk melakukan hampir semua tugas yang bisa kita lakukan dengan database yang dibuat di disk. Metode ini berguna saat membuat database virtual sementara untuk beberapa alasan.

kursor SQLite3

SEBUAHkursor objeknya adalah antarmuka kami ke database, yang memungkinkan menjalankan apa punkueri SQL di database. Untuk menjalankan skrip SQL apa pun menggunakan sqlite3, kita harus membuat objek kursor. Untuk membuat objek kursor, kita perlu menggunakan kursor() metode koneksi obyek. Kita dapat membuat objek kursor dari database kita menggunakan kode berikut:.

# mengimpor modul yang diperlukan impor sqlite3 # mengatur koneksi ke database conn = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") cur.close() # menutup koneksi koneksi.Menutup()

Ketika program dijalankan, output akan terlihat seperti yang ditunjukkan pada gambar di bawah ini.

Mari kita lihat bagaimana kode di atas bekerja. Pada kode di atas, yang pertama, kedua, ketiga, adalah menyiapkan koneksi dengan database, seperti yang ditunjukkan sebelumnya. Di baris keempat, kami telah menggunakan kursor() metode objek koneksi untuk membuat objek kursor dan menyimpan objek kursor yang dikembalikan dalam variabel bernama "cur". Baris kelima adalah jenderal mencetak() pernyataan. Di baris keenam, kami menghancurkan objek kursor dari memori dengan menggunakan Menutup() metode objek kursor.

Tipe Data SQLite

Sebelum melangkah lebih jauh, mari kita pahami dulu tipe data SQLite. Mesin database SQLite memiliki beberapa kelas penyimpanan untuk menyimpan banyak jenis data, termasuk teks, data biner, Integer, dll. Setiap nilai memiliki salah satu dari tipe data berikut:.

Tipe Data SQLite:

Perbandingan Tipe Data SQLite dan Python

Akan ada banyak waktu ketika kita perlu menggunakan tipe data python untuk menyimpan beberapa data SQL dan melakukan beberapa aktivitas. Untuk melakukan hal seperti itu, kita perlu mengetahui tipe data SQL mana yang berhubungan dengan tipe data python.

Tipe Python berikut ini agak mirip dengan tipe data SQLite:

jenis ular piton tipe SQLite
Tidak ada BATAL
ke dalam BILANGAN BULAT
mengapung NYATA
str TEKS
byte GUMPAL

Membuat Tabel menggunakan SQLite

Untuk membuat tabel menggunakan SQLite, kita perlu menggunakan BUAT TABEL pernyataan SQL dalam menjalankan() metode objek kursor. Sintaks dasar dari pernyataan CREATE TABLE dalam SQL ditunjukkan di bawah ini:

CREATE TABLE table_name( column_name Data_type constraint,… column_name Data_type constraint );

Untuk menggunakan pernyataan SQLite di atas dengan Python, kita perlu menjalankan program contoh di bawah ini:. Ini akan membuat tabel bernama karyawan di database kami.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") table = cur.execute(""" CREATE TABLE employee( id INT PRIMARY KEY, nama CHAR(25), salary CHAR(25), join_date DATE ); """) print("\n [+] Tabel telah berhasil dibuat ") bajingan.tutup() sambung.Menutup()

Dalam program di atas, kami membuat karyawan tabel dengan atribut Indo, nama, gaji, dan tanggal Bergabung. Tabel ini sekarang dapat digunakan untuk menyimpan data atau meminta data sesuai kebutuhan. Anda akan melihat output berikut di terminal.

Dalam kode di atas, kami telah menggunakan menjalankan() metode objek kursor untuk menjalankan perintah SQL untuk membuat tabel dengan kolom yang diberikan.

Memasukkan Data ke dalam Tabel

Kami telah membuat tabel di database SQLite kami. Sekarang mari kita masukkan beberapa data di dalamnya menggunakan SQL. Sintaks dasar dari pernyataan INSERT SQL adalah:

MASUKKAN KE nama_tabel (nama_kolom_1, nama_kolom_2,… ) NILAI (kolom_data_1, kolom_data_1,… )

Dalam sintaks di atas, nama_tabel adalah nama tabel di mana kita ingin memasukkan data kita. Itu kolom_nama_1, kolom_nama_2, adalah nama kolom yang ada di tabel. Itu kolom_data_1, kolom_data_2,… adalah data yang ingin kita sisipkan di kolom yang diberikan.

Mari kita lihat demo praktis untuk memasukkan data ke dalam tabel. Kami akan menambahkan beberapa data ke dalam tabel kami bernama karyawan menggunakan SQLite dan Python. Jalankan kode di bawah ini untuk memasukkan beberapa data ke dalam tabel.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") cur.execute("INSERT INTO employee (id, name, salary, join_date) VALUES (1001, 'David', 50000, '1-08-2019')") cur.execute("INSERT INTO employee (id, name, salary, join_date) VALUES (1002, 'Sam', 80000, '3-09-2020')") cur.execute("INSERT INTO employee (id, name, salary, join_date) VALUES (1003, 'Roshan', 90000, '08-08-2020')") cur.execute("INSERT INTO employee (id, name, salary, join_date) VALUES (1004, 'Kishan', 100000, '9-09-2020')") cur.execute("INSERT INTO employee (id, name, salary, join_date) VALUES (1005, 'Ankit', 111000, '10-05-2019')") print("\n [+] Data telah berhasil dimasukkan " ) skr.tutup() sambung.komit() samb.Menutup()

Kode di atas akan memasukkan beberapa data ke dalam karyawan tabel yang telah kita buat sebelumnya. Mari kita lihat apa yang terjadi dalam kode. Lima baris pertama digunakan untuk membuat koneksi dengan database dan mengatur kursor. Di baris dari enam hingga sepuluh, kita harus menggunakan perintah INSERT dari SQL untuk memasukkan data ke tabel karyawan employee. Kita harus menggunakan nama kolom tabel karyawan di kurung pertama dan data untuk kolom di kurung kedua. Kita hanya perlu menggunakan melakukan() metode objek koneksi sebelum memutuskan sambungan dengan database jika tidak, perubahan yang kami buat tidak akan disimpan ke dalam database.

Meminta Data dari Tabel

Kita telah mempelajari cara memasukkan data ke dalam database SQLite, tetapi kita juga perlu melakukan kueri data dari database untuk digunakan oleh program atau pengguna kita. Untuk mengkueri data, kita dapat menggunakan pernyataan SELECT dari SQL di bawah metode execute(). Sintaks dasar dari pernyataan SELECT ditunjukkan di bawah ini:.

PILIH kolom_nama DARI nama_tabel

Itu kolom_nama dalam sintaks akan menjadi nama kolom yang perlu kita kueri. Kolom-kolom ini harus ada dalam tabel yang namanya diberikan sebagai pengganti nama_tabel. Sekarang mari kita lihat bagaimana kita bisa menggunakan sintaks ini untuk meminta data dari tabel karyawan kita. Jalankan saja kode berikut untuk melihat ilustrasinya.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") cur.execute("SELECT id,name FROM employee") table = cur.fetchall() untuk i dalam tabel: print(i) cur.tutup() sambung.komit() samb.Menutup()

Output yang disediakan oleh program di atas ditunjukkan di bawah ini:.

Program di atas akan menanyakan tabel karyawan untuk kolom Indo dan nama. Kami dapat mengumpulkan data yang telah dikembalikan dengan menggunakan ambil semua() metode objek kursor. Data yang dikembalikan adalah daftar python yang berisi baris yang kami tanyakan. Untuk menampilkan baris individual, kita harus menggunakan Python for loop untuk mengulangi daftar; Anda dapat membaca lebih lanjut tentang Python for loop di sini. Sekarang mari kita lihat beberapa hal berguna yang dapat kita lakukan dengan pernyataan SELECT.

Ambil semua Data dari tabel

Terkadang ada kebutuhan untuk mengambil semua catatan dari tabel database. Untuk mendapatkan semua catatan menggunakan pernyataan SELECT dari SQL, kita perlu mengikuti sintaks dasar yang diberikan di bawah ini:

PILIH * DARI nama_tabel

Itu * simbol akan digunakan untuk menunjukkan semua kolom, dan dengan menggunakan ini, kita dapat menanyakan semua kolom dari tabel SQLite. Untuk mengambil semua record dari table employee yang telah kita buat sebelumnya, kita perlu menjalankan kode berikut:.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") cur.execute("SELECT * FROM employee") rows = cur.fetchall() print("\n [+] Meminta data \n") untuk i dalam baris: print(i) cur.tutup() sambung.komit() samb.Menutup()

Kode di atas akan menampilkan semua record yang ada di tabel karyawan yang telah kita buat sebelumnya. Output dari program akan menjadi seperti ini:

Data kueri dalam urutan tertentu

Terkadang kita perlu meminta data dari tabel dalam urutan tertentu seperti Ascending atau Descending. Kita dapat menggunakan pernyataan SELECT dengan kata kunci ORDER BY untuk menampilkan data secara berurutan. Sintaks dasar dari kata kunci ORDER BY dalam pernyataan SELECT adalah:

PILIH column_name FROM table_name ORDER BY column_name

Mari kita lihat bagaimana kita dapat menggunakan kata kunci ORDER BY untuk menampilkan data dari tabel karyawan urutan dengan nama.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") cur.execute("SELECT * FROM employee ORDER BY name") table = cur.fetchall() untuk i dalam tabel: print(i) cur.tutup() sambung.komit() samb.Menutup()

Anda mungkin melihat output dari kode di atas, seperti yang ditunjukkan di bawah ini.

Anda mungkin memperhatikan di output bahwa data telah ditampilkan dalam urutan kolom yang menaik nama.

Memperbarui catatan dalam Tabel

Ada banyak situasi ketika kami ingin memperbarui tabel database kami. Misalnya, jika kita menggunakan database untuk aplikasi sekolah, maka kita perlu memperbarui data jika siswa dipindahkan ke kota baru. Kami dapat dengan cepat memperbarui baris tabel apa pun dari basis data kami menggunakan MEMPERBARUI pernyataan SQL dalam metode execute(). Kita perlu menggunakan klausa WHERE dari SQL sebagai syarat untuk memilih karyawan. Sintaks dasar dari MEMPERBARUI pernyataan ditunjukkan di bawah ini.

UPDATE table_name SET update_required WHERE Some_condition

Lihat contoh di bawah ini sebagai ilustrasi pernyataan UPDATE.

impor sqlite3 samb = sqlite3.hubungkan("contoh.db") print("\n [+] Berhasil terhubung ke database") cur = conn.kursor() print("\n [+] Kursor telah berhasil diatur") print("\n [+] Data Sebelum Pembaruan\n") cur.execute("SELECT * FROM employee") before = cur.fetchall() untuk i in before: print(i) cur.execute("UPDATE employee SET name = 'Aditya' where name = 'Sam'") print("\n [+] Data Setelah Update\n") cur.execute("SELECT * FROM employee") after = cur.fetchall() untuk i in after: print(i) cur.tutup() sambung.komit() samb.Menutup()

Program di atas akan memperbarui tabel karyawan. Itu menggantikan nama sama dengan nama Aditya di mana pun itu muncul di tabel. Lihat gambar di bawah ini untuk output dari program.

Kesimpulan

Itulah panduan komprehensif kami untuk melakukan beberapa tugas dasar terkait database SQLite menggunakan Python. Dalam tutorial yang akan datang, kita akan melihat beberapa penggunaan lanjutan yang akan membawa Anda ke tingkat berikutnya dalam mempelajari database SQLite untuk Python. Pantau terus FOSSlinux.

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah tambahan kedua belas untuk seri Tomb Raider - waralaba game aksi-petualangan yang dibuat oleh Eidos Montreal. Permain...
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...