Python Academy · Pelajaran

Menyambung dan Mencipta Jadual

Buka pangkalan data dan takrifkan skema

Pelajaran 1 daripada 413 langkah

Menyambung dan Mencipta Jadual ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah sqlite3?

Python disertakan dengan modul sqlite3 dalam pustaka standardnya. Modul ini membolehkan anda menggunakan SQLite, iaitu pangkalan data SQL berasaskan fail yang ringan dan tidak memerlukan pelayan berasingan.

  • Pemasangan tidak diperlukan
  • Seluruh pangkalan data disimpan dalam satu fail
  • Sesuai untuk prototaip, ujian dan aplikasi kecil
import sqlite3
print(sqlite3.version)

Menyambung ke Pangkalan Data

Gunakan sqlite3.connect() untuk membuka pangkalan data. Jika fail itu tidak wujud, SQLite akan menciptanya.

Menghantar ':memory:' mencipta pangkalan data sementara dalam memori yang lenyap apabila sambungan ditutup.

import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()

Objek Kursor

Untuk menjalankan SQL, anda memerlukan kursor. Panggil conn.cursor() untuk mendapatkannya, kemudian gunakan cursor.execute() untuk menghantar pernyataan SQL.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()

Mencipta Jadual

Tentukan skema dengan CREATE TABLE. Setiap lajur memerlukan nama dan jenis seperti INTEGER, TEXT atau REAL.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()

Kunci Primer

kunci primer mengenal pasti setiap baris secara unik. Pengisytiharan INTEGER PRIMARY KEY akan menaikkan nilai secara automatik untuk anda oleh SQLite.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()

IF NOT EXISTS

Menjalankan CREATE TABLE dua kali akan menghasilkan ralat. Tambahkan IF NOT EXISTS supaya pernyataan itu selamat dijalankan berulang kali.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()

Kekangan Lajur

Kekangan menguatkuasakan peraturan data pada peringkat pangkalan data.

  • NOT NULL memerlukan nilai
  • UNIQUE melarang pendua
  • DEFAULT membekalkan nilai sandaran
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()

Memeriksa Skema

SQLite menyimpan maklumat skema dalam sqlite_master. Buat pertanyaan terhadapnya untuk menyenaraikan jadual anda.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()

Menyimpan ke Fail

Untuk mengekalkan data, hantarkan nama fail kepada connect(). Pangkalan data akan kekal selepas program anda tamat.

Anda mesti memanggil conn.commit() untuk menulis perubahan ke cakera.

import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()

Menggugurkan Jadual

Buang jadual dengan DROP TABLE. Gunakan IF EXISTS untuk mengelakkan ralat apabila jadual itu sudah tiada.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()

Sentiasa Tutup Sambungan

Sambungan yang dibuka menggunakan pemegang fail. Sentiasa tutup sambungan tersebut dengan conn.close() apabila selesai, atau gunakan blok with untuk pembersihan automatik.

import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')

Semakan Ringkas

Uji pemahaman anda tentang penciptaan jadual.

Imbas Kembali

Anda telah mempelajari asas sqlite3.

  • connect() membuka atau mencipta fail pangkalan data
  • cursor() memberikan anda objek untuk menjalankan SQL
  • CREATE TABLE mentakrifkan skema dengan jenis dan kekangan
  • commit() mengekalkan perubahan dan close() melepaskan sambungan

Seterusnya, anda akan memasukkan dan membaca baris.

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
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Menyambung dan Mencipta Jadual” percuma?

Ya — teks penuh “Menyambung dan Mencipta Jadual” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyambung dan Mencipta Jadual”?

Buka pangkalan data dan takrifkan skema Anda berlatih Python Academy 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 Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy 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 “Menyambung dan Mencipta Jadual” 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 Python Academy ini?

Ya. Setiap pelajaran Python Academy 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. Menyambung dan Mencipta Jadual
  2. Insert, Select, Update, Delete
  3. Pertanyaan Berparameter
  4. Transaksi dan Pengurus Konteks
← Kembali ke Python Academy