Pelajari AI dengan Python · Pelajaran

SQLite dengan Modul sqlite3 Python

Mencipta pangkalan data dan jadual, INSERT/SELECT/UPDATE, pertanyaan berparameter serta pengurusan sambungan.

Pelajaran 1 daripada 413 langkah

SQLite dengan Modul sqlite3 Python ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Mengapa Pangkalan Data untuk Kecerdasan Buatan?

Fail rata boleh digunakan sehingga data anda berkembang atau banyak bahagian projek memerlukan rekod yang sama. Pangkalan data memberikan pertanyaan pantas, skema berstruktur dan akses serentak yang selamat.

SQLite ialah pangkalan data berasaskan fail tanpa persediaan yang terbina dalam Python melalui modul sqlite3 — sesuai untuk eksperimen kecerdasan buatan dan projek kecil.

Menyambung dengan sqlite3.connect

sqlite3.connect membuka (atau mencipta) fail pangkalan data dan mengembalikan satu sambungan. Gunakan :memory: untuk pangkalan data sementara dalam RAM.

import sqlite3

conn = sqlite3.connect("ml.db")   # creates ml.db if missing
print(conn)

Kursor dan cursor.execute

Anda menjalankan SQL melalui cursor yang diperoleh daripada sambungan. cursor.execute(sql) menghantar pernyataan kepada pangkalan data.

import sqlite3

conn = sqlite3.connect("ml.db")
cur = conn.cursor()
cur.execute("SELECT sqlite_version()")
print(cur.fetchone())

CREATE TABLE IF NOT EXISTS

Tentukan jadual dengan skema. IF NOT EXISTS menjadikan pernyataan itu selamat untuk dijalankan berulang kali — pernyataan tersebut tidak akan menghasilkan ralat jika jadual itu sudah wujud.

cur.execute("""
CREATE TABLE IF NOT EXISTS experiments (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    accuracy REAL,
    created_at TEXT
)
""")

INSERT dengan Pemegang Tempat

Jangan sekali-kali bina SQL menggunakan pemformatan rentetan — ini membuka peluang kepada suntikan SQL dan bermasalah apabila terdapat tanda petikan. Gunakan pemegang tempat ? dan hantarkan nilai sebagai tupel.

cur.execute(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    ("baseline", 0.82, "2026-05-29"),
)

Memasukkan Banyak Baris dengan executemany

executemany memasukkan senarai tupel dalam satu panggilan yang cekap — jauh lebih pantas daripada mengulang execute.

rows = [
    ("rf", 0.88, "2026-05-29"),
    ("xgb", 0.91, "2026-05-29"),
]
cur.executemany(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    rows,
)

conn.commit() Menyimpan Perubahan

Operasi penulisan berlaku dalam transaksi dan tidak disimpan secara kekal sehingga anda memanggil conn.commit(). Terlupa memanggilnya ialah pepijat pemula yang paling biasa — data anda hilang secara senyap apabila sambungan ditutup.

conn.commit()   # persist all pending INSERT/UPDATE/DELETE

Membuat Pertanyaan dengan fetchall dan fetchone

Selepas SELECT, dapatkan hasilnya:

  • fetchone() — satu baris seterusnya
  • fetchall() — semua baris yang berbaki sebagai senarai tupel
  • lelarkan cursor secara langsung untuk hasil yang besar
cur.execute("SELECT name, accuracy FROM experiments")
for row in cur.fetchall():
    print(row)   # ("baseline", 0.82) ...

Menapis dan Mengisih

SQL melakukan tugas berat: tapis dengan WHERE, isih dengan ORDER BY, hadkan dengan LIMIT. Gunakan pemegang tempat untuk nilai pertanyaan juga.

cur.execute(
    "SELECT name, accuracy FROM experiments WHERE accuracy > ? ORDER BY accuracy DESC LIMIT 3",
    (0.85,),
)
print(cur.fetchall())

Kilang Baris untuk Akses Bernama

Secara lalai, baris ialah tupel. Tetapkan conn.row_factory = sqlite3.Row untuk mengakses lajur mengikut nama, yang jauh lebih mudah dibaca.

import sqlite3

conn = sqlite3.connect("ml.db")
conn.row_factory = sqlite3.Row
cur = conn.cursor()
cur.execute("SELECT * FROM experiments")
row = cur.fetchone()
print(row["name"], row["accuracy"])

Pengurus Konteks untuk Keselamatan

Menggunakan with pada sambungan mengesahkan transaksi secara automatik apabila berjaya dan mengembalikannya apabila berlaku ralat. Digabungkan dengan closing, kaedah ini menjamin pembersihan.

import sqlite3
from contextlib import closing

with closing(sqlite3.connect("ml.db")) as conn:
    with conn:   # auto commit/rollback
        conn.execute(
            "INSERT INTO experiments (name, accuracy) VALUES (?, ?)",
            ("svm", 0.79),
        )

Semakan Pantas: Mengekalkan Perubahan

Anda menjalankan beberapa pernyataan INSERT, kemudian menutup sambungan — tetapi data itu hilang pada kali berikutnya.

Ringkasan: SQLite dengan sqlite3

Anda kini boleh menggunakan pangkalan data sebenar daripada Python:

  • sqlite3.connect dan satu cursor
  • CREATE TABLE IF NOT EXISTS untuk skema yang selamat
  • INSERT dengan pemegang tempat ? dan executemany
  • conn.commit() untuk mengekalkan penulisan
  • fetchone/fetchall, WHERE/ORDER BY/LIMIT
  • sqlite3.Row dan pengurus konteks untuk kod yang kemas dan selamat

Seterusnya: menghubungkan pandas dengan SQL.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “SQLite dengan Modul sqlite3 Python” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “SQLite dengan Modul sqlite3 Python”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “SQLite dengan Modul sqlite3 Python”?

Mencipta pangkalan data dan jadual, INSERT/SELECT/UPDATE, pertanyaan berparameter serta pengurusan sambungan. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “SQLite dengan Modul sqlite3 Python” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. SQLite dengan Modul sqlite3 Python
  2. Integrasi Pandas dan SQL
  3. Menyimpan dan Menyoal Hasil Pembelajaran Mesin
  4. Pengenalan kepada Pangkalan Data Vektor
← Kembali ke Pelajari AI dengan Python