sqlite3 test.db
若檔案不存在會自動建立;實際建立動作發生在首次建立物件時。
CREATE TABLE Member (
id INTEGER PRIMARY KEY, -- 自動遞增
name TEXT,
age INTEGER,
addr TEXT
);
-- 指定所有欄位 (id=0 需不存在)
INSERT INTO Member VALUES (0, 'wwl', 21, '上海');
-- 僅指定非主鍵欄位 (id 自動遞增)
INSERT INTO Member (name, age, addr) VALUES ('wwl', 21, '上海');
.mode column -- 欄式顯示
.headers on -- 顯示欄位名
SELECT * FROM Member;
CREATE VIEW schema AS SELECT * FROM Member;
CREATE INDEX Member_Idx ON Member(id);
-- 整個資料庫匯出至螢幕
.dump
-- 匯出至檔案
.output backup.sql
.dump
.output stdout
-- 先移除現有物件
DROP TABLE Member;
DROP VIEW schema;
-- 匯入
.read backup.sql
.mode csv
.import data.csv Member
-- 1. 整理資料庫 (釋放已刪除空間、縮小檔案)
sqlite3 test.db vacuum
-- 2. 直接複製檔案
cp test.db test.backup
| 命令 | 功能 |
|---|---|
.tables | 列出所有表與檢視表 |
.indices Member | 查看 Member 表的索引 |
.schema Member | 取得 Member 表的 DDL 定義 |
.schema | 取得所有物件 DDL |
SELECT last_insert_rowid(); | 取得最後自增 ID |
.help 查看完整命令列表.mode 切換輸出格式:csv、html、json (3.38+)、line 等sqlite3 :memory: 適合暫存運算sqlite3> .parameter set @name 'value'SQLite 以單一檔案、零配置、跨平台特性,成為嵌入式、行動裝置、桌面應用首選輕量級資料庫。熟練掌握 CLI 命令能大幅提升開發除錯與維運效率。