Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyertai Jadual Merentas Pangkalan Data SQLite Berbeza?

Bagaimanakah Saya Boleh Menyertai Jadual Merentas Pangkalan Data SQLite Berbeza?

Susan Sarandon
Susan Sarandonasal
2025-01-05 00:48:40185semak imbas

How Can I Join Tables Across Different SQLite Databases?

Menyertai Jadual daripada Pangkalan Data Berbeza dalam SQLite

Apabila bekerja dengan berbilang pangkalan data SQLite, adalah perlu untuk menyertai jadual merentas pangkalan data untuk mengakses dan menggabungkan data. Walaupun SQLite tidak menyokong penyambungan terus jadual daripada pangkalan data yang berbeza secara asli, terdapat penyelesaian menggunakan arahan ATTACH.

Melampirkan Pangkalan Data

Arahan ATTACH membolehkan anda melampirkan fail pangkalan data luaran ke sambungan semasa. Ini membolehkan anda mengakses jadual dan data daripada pangkalan data yang dilampirkan. Untuk melampirkan pangkalan data, gunakan sintaks berikut:

ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';

Ganti 'path/to/db.sqlite' dengan laluan ke fail pangkalan data yang anda ingin lampirkan dan 'alias' dengan alias yang digunakan untuk rujuk pangkalan data yang dilampirkan.

Contoh

Pertimbangkan senario di mana anda mempunyai dua pangkalan data SQLite: 'database1.db' dan 'database2.db'. Untuk melampirkan pangkalan data kedua:

ATTACH DATABASE 'database2.db' AS 'db2';

Menyertai Jadual

Selepas melampirkan pangkalan data, anda boleh menyertai jadual merentas pangkalan data seolah-olah ia berada dalam pangkalan data yang sama. Gunakan sintaks berikut:

SELECT
  *
FROM
  db1.table1 AS T1
INNER JOIN
  db2.table2 AS T2
ON T1.column1 = T2.column2;

Di sini, 'db1.table1' dan 'db2.table2' ialah jadual daripada pangkalan data yang dilampirkan 'db1' dan 'db2', masing-masing.

Menyiasat Pangkalan Data Terlampir

Untuk mengesahkan yang dilampirkan pangkalan data, gunakan arahan .databases:

.databases

Ini akan menyenaraikan semua pangkalan data yang dilampirkan pada masa ini dan aliasnya.

Penghadan

Perhatikan bahawa nama pangkalan data 'utama' dan 'temp' dikhaskan untuk pangkalan data primer dan sementara, masing-masing. Elakkan menggunakan nama ini untuk pangkalan data yang dilampirkan untuk mengelakkan konflik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual Merentas Pangkalan Data SQLite Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn