許多初接觸 SQLite 的開發者會困惑:JDBC 建立的 `.db` 檔案到底是不是資料庫?答案是:**SQLite 是檔案型資料庫,單一 `.db`(或 `.sqlite`、`.sqlite3`、無副檔名)檔案即完整包含整個資料庫(Schema、資料、索引、觸發器等)**。
// Java 範例
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
// 若 test.db 不存在 → 自動建立空檔案
// 執行 CREATE TABLE → 結構寫入 test.db
// INSERT → 資料寫入 test.db
| 誤區 | 事實 |
|---|---|
| .db 只是資料匯出檔 | .db 是線上即時運作的資料庫本體,非匯出/備份檔。 |
| 需先建檔案再建表 | 連線字串指定路徑,驅動自動建檔,無需手動建檔。 |
| 多執行緒不能共用 | 同一檔案可多連線讀寫(WAL 模式下並發更好),但需注意連線池管理。 |
直接複製 `.db` 檔案即可完成資料庫備份/遷移/部署,無需 `mysqldump` 等工具。
總結:**你看到的 `.db` 檔案,就是 SQLite 資料庫本身。**