SQLite

Cara Mengakses SQLite dari Python

Cara Mengakses SQLite dari Python
Python adalah bahasa pengaturcaraan yang popular dan mantap yang kaya dengan ciri-ciri yang menjadikannya dapat digunakan dalam pelbagai kes seperti sains data, rangkaian, automasi IT, ujian penembusan, dan banyak lagi. Ia juga mempunyai sintaks sederhana yang membolehkan pembangun yang mengetahui bahasa pengaturcaraan lain untuk menyesuaikan diri dengan menggunakan Python dengan mudah.Data ada di mana-mana, dan pelbagai aplikasi perisian berinteraksi dengan data menggunakan Sistem Pengurusan Pangkalan Data. SQLite adalah salah satu sistem pengurusan pangkalan data yang paling popular di Python.

SQLite adalah mesin pangkalan data yang mudah, kuat, sumber terbuka, dan relasional yang menyokong aplikasi perisian besar dan sistem tertanam. SQLite berdiri sendiri dan memerlukan konfigurasi minimum, menjadikannya lebih mudah untuk disiapkan dan dijalankan dengan masa yang minimum. Secara lalai, Python dilengkapi dengan modul SQLite (sqlite3), modul yang sangat intuitif untuk bekerja dengan pangkalan data SQLite di Python.

Dalam tutorial ini, kita akan melihat bagaimana menggunakan Python untuk bekerja dengan pangkalan data SQLite. Dari menjalin hubungan hingga membuat pangkalan data, membaca pangkalan data, mengemas kini, dan membuang pangkalan data.

Mari kita mulakan dengan memasang SQLite:

Memasang SQLite dan Python

Bergantung pada pengedaran Linux anda, anda boleh memuat turun arkib SQLite dari https: // www.sqlite.org / muat turun.html atau gunakan pengurus pakej.

Untuk memasangnya di Debian:

sudo apt-get kemas kini
sudo apt-get install sqlite -y

Seterusnya, anda mesti memasang versi terbaru Python3. Python semestinya sudah diprapasang dalam pengedaran anda secara lalai.

Shell SQLite

Kaedah lalai untuk berinteraksi dengan pangkalan data SQLite adalah menggunakan shell. Shell membolehkan anda melaksanakan perintah SQL sebaris atau koleksi untuk menjalankan fungsi pada pangkalan data.

Untuk melancarkan shell SQLite, gunakan arahan:

$ sqlite

SQLite versi 2.8.17 Masukkan ".tolong ā€¯untuk arahan

sqlite>

Ini harus melancarkan shell SQLite dengan prompt yang membolehkan anda memasukkan perintah. Mulakan dengan menaip arahan .menolong untuk melihat bantuan tempurung.

sqlite> .menolong
.pangkalan data Menyenaraikan nama dan fail pangkalan data yang dilampirkan
.pembuangan ?JADUAL?... Buangkan pangkalan data dalam format teks
.echo ON | OFF Hidupkan atau matikan gema arahan
.keluar Keluar dari program ini
.terangkan ON | OFF Hidupkan mod output yang sesuai untuk MENJELASKAN hidup atau mati.
.header ON | OFF Hidupkan atau matikan paparan tajuk
.bantu Tunjukkan mesej ini
.indeks JADUAL Tunjukkan nama semua indeks di TABLE
.mod MODE Tetapkan mod ke salah satu "baris", "lajur",
"masukkan", "senarai", atau "html"
----------------------------------------------------------------------

Untuk keluar dari shell SQLite, gunakan .berhenti perintah.

sqlite> .berhenti

Terdapat fungsi dan operasi lain yang dapat anda gunakan di dalam shell SQLite. Sebagai contoh, untuk melihat semua pangkalan data, anda boleh menggunakan .arahan pangkalan data.

Saya sangat mengesyorkan agar anda bereksperimen dengan shell SQLite dan membiasakan diri kerana ia akan membolehkan anda memahami cara menggunakan modul SQLite3 di Python.

Menyambung ke Pangkalan Data

Mari kita gunakan modul Python dan SQLite3 untuk berinteraksi dengan pangkalan data SQLite. Adalah baik untuk diperhatikan bahawa terdapat modul Python lain yang boleh anda gunakan untuk berinteraksi dengan SQLite. Walau bagaimanapun, SQLite3 mudah dan dilengkapi dengan Python.

Pertimbangkan skrip di bawah ini untuk menyambung ke pangkalan data SQLite.

import sqlite3 dari ralat import sqlite3
def connect_db (db_path):
sambungan = Tiada cuba:
sambungan = sqlite3.sambung (db_path)
cetak ("Pangkalan data berjaya disambungkan")
kecuali Kesalahan seperti e:
cetak (f "Berlaku Ralat: e")
sambungan kembali
connect_db ("/ rumah / pengguna / Desktop / demo.sqlite ")

Kita mulakan dengan mengimport modul SQLite dan Ralat.
Pada baris 3, kami membuat fungsi connect_db () yang mengambil jalan pangkalan data sebagai argumen.
Bahagian seterusnya merangkumi blok cubaan / ralat. Bahagian pertama mengambil jalan pangkalan data sebagai argumen dan mewujudkan hubungan. Perhatikan, dalam SQLite, jika pangkalan data yang ditentukan tidak ada, ia akan dibuat secara automatik.
Blok ralat cuba menangkap pengecualian dan mencetaknya kepada pengguna.
Pada baris terakhir, kita memanggil fungsi connect_db dan meneruskan jalan ke pangkalan data yang ingin kita gunakan atau buat.

NOTA: Sekiranya anda ingin membuat pangkalan data memori dan bukannya cakera, anda boleh menentukan: memori di obj sambung.

sqlite3.sambung (": memori")

Jadual Buat SQLite

Di SQLite, kita dapat menggunakan shell SQL untuk membuat tabel menggunakan CREATE TABLE Query. Sintaks umum adalah seperti:

BUAT JADUAL_nama pangkalan data.nama_ jadual (
jenis data kolom_nama KATA KUNCI PERDANA (lajur),
jenis data kolum2_nama,
... Jenis data kolumN_nama,
);

Saya tidak akan menyelami membuat jadual menggunakan shell SQLite kerana fokus utama kami adalah Python. Pertimbangkan dokumentasi SQL Lite dari sumber di bawah untuk mengetahui lebih lanjut. Sekarang, untuk menggunakan modul Python dan sqlite3 untuk membuat jadual pangkalan data, kita perlu menggunakan objek kursor dan melaksanakan fungsi pertanyaan SQL. Pertimbangkan kod di bawah:

import sqlite3 dari ralat import sqlite3
def connect_db (db_path):
sambungan = Tiada
cuba:
sambungan = sqlite3.sambung (db_path)
cetak ("Pangkalan data berjaya disambungkan")
kecuali Kesalahan seperti e:
cetak (f "Berlaku Ralat: e")
kembali sambungan def run_query (sambungan, sql_query):
kursor = sambungan.kursor ()
cuba:
kursor.laksanakan (sql_query)
sambungan.melakukan ()
cetak ("Pertanyaan SQL Berjaya Berjaya ... [OK]")
kecuali Kesalahan seperti e:
cetak (f "Pertanyaan Gagal ... e")
pertanyaan = "" "
BUAT JADUAL JIKA TIDAK ADA menunjukkan (
id PENYELESAIAN UTAMA PRIMARY INTEGER,
namakan TEKS BUKAN NULL,
tahun INTGER,
genre TEKS,
TEKS negara
);
"" "
run_query (sambungan = connect_db ("/ rumah / pengguna / Desktop / sql.sqlite "), sql_query = pertanyaan)

Mari kita bincangkan apa yang dilakukan oleh kod di atas-cari fungsi pertama yang dijelaskan di atas (sila rujuk). Pada fungsi kedua, buat, kita lulus sambungan dan pertanyaan untuk dilaksanakan sebagai parameter. Garis berikut membuat objek kursor yang akan kami gunakan untuk memanggil kaedah pelaksanaan. Seperti yang disebutkan di atas, baris berikutnya memanggil objek kursor untuk menjalankan metode dan panggilan melewati pertanyaan sebagai parameter. Blok ini juga mencetak mesej mengenai pelaksanaan Query yang berjaya. Setelah pertanyaan berjaya dilaksanakan, kami menyuruh SQLite menggunakan kaedah komit untuk menyimpan perubahan ke pangkalan data. Kecuali blok menangkap pengecualian dan mencetak mesej ralat kepada pengguna. Akhirnya, kami membuat Query untuk dilaksanakan menggunakan sintaks SQLite sederhana.

Rekod Masukkan SQLite

Untuk menambahkan data ke pangkalan data SQLite, kita dapat menyelami fungsi run_query () yang biasa kita buat kerana dapat menjalankan pertanyaan SQLite yang kita sampaikan kepadanya. Walau bagaimanapun, kami menggunakan pertanyaan INSERT INTO untuk menambahkan data ke jadual.

Pertimbangkan blok di bawah:

tambah_tunjuk = "" "
MASUKKAN KE DALAM
rancangan (id, nama, tahun, genre, negara)
NILAI
("101", "Brooklyn Nine-Nine", "2013", "comedy", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
"" "run_query (sambungan = connect_db (" / rumah / pengguna / Desktop / sql.sqlite "), sql_query = add_shows)

Kita sekarang perlu memanggil fungsi run_query dan menambahkan lulus query add_shows untuk memasukkan data ke jadual tunjuk. Pastikan jadual yang anda masukkan data ada untuk mengelakkan berlakunya ralat.

SQLite Padam Rekod

Anda juga boleh menggunakan fungsi run_query () untuk membuang rekod dari jadual yang ditentukan. Yang anda perlukan hanyalah menetapkan pertanyaan sebagai HAPUS DARI.

Pertimbangkan sub pertanyaan berikut:

remove = "DELETE FROM shows WHERE name = 'Brooklyn Nine-Nine'" run_query (sambungan = connect_db ("/ rumah / pengguna / Deskop / sql.sqlite "), sql_query = alih keluar)

Pertanyaan di atas membuang rancangan "Brooklyn Nine-Nine" dari jadual persembahan.

Kesimpulannya

Tutorial ini telah mengajar anda bagaimana menggunakan Python untuk mengakses dan berinteraksi dengan pangkalan data SQLite. Dari apa yang anda pelajari dari tutorial ini, kini anda dapat membuat fungsi, menyambung ke pangkalan data SQLite, membuat tabel, memasukkan data, dan menghapusnya. Walaupun ini adalah panduan permulaan untuk bekerjasama dengan SQLite di Python, ini harus membuat anda mula mempelajari teknologi lain seperti SQLAlchemy dan sebagainya.

Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...