首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQLite 入門完整指南:從安裝到 CRUD 與常用命令

     編輯:關於SqlServer

SQLite:零配置、嵌入式、跨平台的輕量級關聯資料庫

SQLite 以單一檔案儲存整個資料庫,無伺服器進程、無安裝配置、支援 ACID 交易,廣泛用於行動裝置、桌面應用、IoT 裝置、瀏覽器內建儲存。本文涵蓋 Windows/Linux/macOS 安裝、建庫建表、CRUD 操作、實用點命令、備份還原全流程。

一、安裝與環境準備

平台安裝方式
Windows官網下載 sqlite-tools-win32-x86-*.zip,解壓並加入 PATH
Linux (Debian/Ubuntu)sudo apt-get install sqlite3 libsqlite3-dev
Linux (RHEL/CentOS)yum install sqlite3 sqlite3-devel
macOS系統預裝(sqlite3 指令即可用)

二、建立第一個資料庫與資料表

$ sqlite3 test.db
SQLite version 3.45.0
sqlite> CREATE TABLE mytable (
    id INTEGER PRIMARY KEY,
    value TEXT
);
sqlite> INSERT INTO mytable (id, value) VALUES (1, 'Micheal');
sqlite> INSERT INTO mytable (value) VALUES ('Francis');  -- id 自動遞增
sqlite> SELECT * FROM mytable;
1|Micheal
2|Francis

注意:至少建立一個表/視圖,資料庫檔案才會寫入磁碟。

三、實用點命令(Dot Commands)

命令功能範例
.tables列出所有表/視圖.tables
.schema [table]顯示建表 SQL.schema mytable
.mode column欄對齊顯示.mode column
.headers on顯示欄位名.headers on
.separator ','設定分隔符.separator ,
.output file.csv導出結果到檔案.output data.csv
.import file.csv tbl從 CSV 匯入.import data.csv newtbl
.dump導出完整 SQL.dump > backup.sql
.read file.sql執行 SQL 檔.read backup.sql

四、CRUD 核心操作

-- Create(建表已示範)
-- Read
SELECT * FROM mytable WHERE id = 1;
-- Update
UPDATE mytable SET value = 'Updated' WHERE id = 1;
-- Delete
DELETE FROM mytable WHERE id = 1;
-- ALTER TABLE(SQLite 3.35+ 支援 DROP COLUMN)
ALTER TABLE mytable ADD COLUMN email TEXT DEFAULT '' NOT NULL;

五、索引、視圖與資料類型

  • 索引:CREATE INDEX idx_value ON mytable(value);
  • 視圖:CREATE VIEW v AS SELECT * FROM mytable WHERE id > 10;
  • 儲存類別:NULL、INTEGER(1-8 bytes)、REAL(8 bytes IEEE)、TEXT(UTF-8/16)、BLOB。型別親和性而非強制型別。

六、備份與還原(單一檔案優勢)

# 線上熱備份(無需停機)
sqlite3 mydb.db .dump > backup.sql
# 或使用備份 API(更安全)
sqlite3 mydb.db ".backup backup.db"

# 還原
sqlite3 mydb.db < backup.sql
# 或
sqlite3 mydb.db ".restore backup.db"

七、效能調優小撇步

  • 大量寫入前:PRAGMA synchronous = OFF; PRAGMA journal_mode = MEMORY;(風險:斷電可能損壞)
  • 大量寫入後:PRAGMA synchronous = FULL; PRAGMA journal_mode = WAL;(WAL 模式讀寫並行)
  • 建立覆蓋索引避免回表:CREATE INDEX idx_cover ON t(a,b) INCLUDE (c); (3.38+)
  • 定期 VACUUM; 整理碎片、壓縮檔案。

八、C/C++ 嵌入式開發關鍵點

  • 32 位專案:下載 sqlite-dll-win32-x86,用 lib.exe /DEF:sqlite3.def /OUT:sqlite3.lib 產生 import library。
  • 64 位專案:直接將 sqlite3.c + sqlite3.h 加入專案編譯(官方建議)。
  • 核心 API:sqlite3_open、sqlite3_prepare_v2、sqlite3_step、sqlite3_column_*、sqlite3_finalize、sqlite3_close。
  • 參數綁定:sqlite3_bind_text、sqlite3_bind_int64 等,**務必使用參數化查詢防注入**。

總結

SQLite 以「一個檔案、零配置、全功能」重新定義了嵌入式資料庫的標準。掌握本文安裝、CLI 操作、SQL 語法、備份還原、效能調優與嵌入式開發要點,即可在任何專案中輕鬆驅動輕量級資料存儲需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved