SQLite - PERINTAH DETACH Database

Haih, rakan-rakan pemrogram! Hari ini, kita bakal mendalami dunia basis data SQLite dan belajar tentang suatu perintah kecil yang menarik iaitu DETACH. Jangan bimbang jika anda baru-baru ini sahaja memulakan; saya akan menghidangkan anda langkah demi langkah, seperti yang saya lakukan untuk ribuan pelajar sepanjang tahun-tahun pengajaran saya. Jadi, ambil secangkir minuman kegemaran anda, dan mari kita mula!

SQLite - DETACH Database

Apa Itu Perintah DETACH Database?

Sebelum kita masuk ke dalam perincian, mari kita faham apa yang dimaksudkan oleh DETACH dalam konteks basis data SQLite. Bayangkan anda ada beg ( persekitaran SQLite anda) dengan beberapa buku (basis data) di dalamnya. Perintah DETACH adalah seperti mengambil buku keluar dari beg anda dan meletakkannya di rak. Buku itu masih wujud, tetapi ia tidak lagi dalam jangkaan anda.

Dalam istilah SQLite, DETACH membolehkan anda memutuskan sambungan basis data dari sambungan SQLite semasa. Ini tidak menghapuskan basis data; ia hanya bermaksud SQLite akan berhenti menguruskan basis data itu untuk masa ini.

Sintaks

Sekarang, mari kita lihat sintaks formal untuk perintah DETACH:

DETACH [DATABASE] nama_basis_data;

cukup mudah, kan? Mari kita pecahkan ini:

  1. DETACH: Ini adalah perintah utama yang memberitahu SQLite apa yang anda mahu lakukan.
  2. DATABASE: Ini adalah pilihan. Anda boleh menyertakannya untuk kesahihan, tetapi SQLite akan memahami kehendak anda tanpa itu.
  3. nama_basis_data: Ini adalah nama yang anda gunakan ketika anda menyambung basis data. Ia seperti nama samaran yang anda berikan kepada buku ketika anda meletakkannya di beg.

Contoh

Mari kita lihat contoh untuk melihat bagaimana ini berkerja dalam amalan. Kita akan mula dengan menyambung basis data, kemudian melepaskannya.

Langkah 1: Sambung Basis Data

Pertama, mari kita sambung basis data. Kita akan panggilnya "my_awesome_db".

ATTACH DATABASE 'path/to/my_awesome_db.db' AS my_awesome_db;

Perintah ini memberitahu SQLite untuk menyambung ke fail basis data yang terletak di 'path/to/my_awesome_db.db' dan memberikan nama "my_awesome_db" di dalam sesi SQLite kita.

Langkah 2: Gunakan Basis Data

Sekarang, kita telah menyambung basis data, kita boleh menggunakannya. Mari kita buat jadual mudah:

CREATE TABLE my_awesome_db.users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);

Ini mencipta jadual "users" di dalam basis data yang disambungkan.

Langkah 3: Melepaskan Basis Data

Sekarang, katakanlah kita sudah selesai bekerja dengan basis data ini untuk saat ini. Ini adalah di mana DETACH masuk:

DETACH DATABASE my_awesome_db;

Dan begitu saja, basis data dipisahkan! Ia seperti kita mengambil buku dari beg dan meletakkannya di rak.

Apa yang Terjadi selepas DETACH?

Anda mungkin bertanya, "Apa halnya? Mengapa saya mahu melepaskan basis data?" Pertanyaan yang bagus! Ini adalah beberapa sebab:

  1. Pengurusan Sumber: Melepaskan basis data yang anda tidak gunakan secara aktif boleh membebaskan sumber sistem.
  2. Organisasi: Ia membantu untuk menjaga persekitaran SQLite anda rapi, terutama jika anda bekerja dengan beberapa basis data.
  3. Keselamatan: Jika anda sudah selesai dengan data sensitif, melepaskan memastikan ia tidak terakses secara tidak sengaja kemudian dalam sesi anda.

Masalah Umum dan Cara untuk Mengelaknya

Dalam tahun-tahun pengajaran saya, saya telah melihat pelajar mendapat beberapa masalah umum dengan DETACH. Mari kita hadapi mereka:

1. Mencuba Melepaskan Basis Data Utama

SQLite selalu mempunyai basis data utama yang disambungkan, yang tidak boleh dipisahkan. Jika anda mencuba, anda akan mendapat kesalahan. Ia seperti mencuba melepaskan sepatu yang anda pakai ketika berlari!

2. Menggunakan Nama Basis Data yang Salah

Pastikan anda menggunakan nama yang sama yang anda gunakan ketika menyambung basis data. SQLite peka huruf besar kecil, jadi "MY_AWESOME_DB" adalah bukan sama seperti "my_awesome_db".

3. Melepaskan Basis Data yang Sudah Dilepaskan

Jika anda mencuba melepaskan basis data yang sudah dipisahkan, SQLite akan memberikan anda kesalahan. Ia seperti mencuba mengambil buku dari rak ketika ia sudah ada di atas rak!

Latihan Praktikal

Sekarang, mari kita ubah apa yang kita pelajari ke dalam amalan. Bayangkan anda membina sistem pengurusan perpustakaan mudah. Anda ada dua basis data: satu untuk buku dan satu untuk ahli.

-- Sambung basis data
ATTACH DATABASE 'books.db' AS books_db;
ATTACH DATABASE 'members.db' AS members_db;

-- Buat jadual di setiap basis data
CREATE TABLE books_db.books (
id INTEGER PRIMARY KEY,
title TEXT,
author TEXT
);

CREATE TABLE members_db.members (
id INTEGER PRIMARY KEY,
name TEXT,
join_date DATE
);

-- Sisipkan beberapa data
INSERT INTO books_db.books (title, author) VALUES ('1984', 'George Orwell');
INSERT INTO members_db.members (name, join_date) VALUES ('Alice', '2023-06-01');

-- Sekarang, katakanlah kita sudah selesai dengan basis data ahli untuk saat ini
DETACH DATABASE members_db;

-- Jika kita cuba mengakses jadual ahli sekarang, kita akan mendapat kesalahan
-- Uncomment baris berikut untuk melihat kesalahan:
-- SELECT * FROM members_db.members;

-- Tetapi kita masih boleh mengakses basis data buku
SELECT * FROM books_db.books;

-- Akhirnya, mari kita lepaskan basis data buku juga
DETACH DATABASE books_db;

Dalam latihan ini, kita menyambung dua basis data, membuat jadual, memasukkan data, dan kemudian memisahkan mereka satu per satu. Perhatikan bagaimana selepas memisahkan members_db, kita tidak dapat mengakses jadualnya lagi, tetapi kita masih dapat bekerja dengan books_db sehingga kita memisahkan itu juga.

Kesimpulan

Dan begitu saja, rakan-rakan! Kita telah mendalami perintah DETACH dalam SQLite, dari sintaksnya ke aplikasi praktikal. Ingat, DETACH adalah seperti meletakkan buku kembali ke rak - buku (atau basis data) itu masih wujud, tetapi ia tidak lagi di ruang kerja anda.

Sekiranya anda teruskan perjalanannya dalam dunia basis data, anda akan menemui bahawa perintah seperti DETACH adalah alat penting untuk pengurusan kerja anda secara efektif. Terus latih, tetap curi-curi, dan jangan takut untuk percubaan. Akhirnya, setiap ahli adalah sebelum ini seorang pemula!

Selamat coding, dan hingga jumpa lagi, semoga kueri anda pantas dan basis data anda teratur!

Metode Keterangan
DETACH DATABASE Memutuskan sambungan basis data dari sambungan SQLite semasa

Credits: Image by storyset