5A景区网站建设

SQLite 新手完全使用指南

SQLite 新手完全使用指南(适用于 Windows / macOS / Linux)

一、什么是 SQLite?SQLite 是一个轻量级、无服务器文件型 数据库引擎。

  • 所有数据存储在 一个 .db 文件
  • 无需安装数据库服务(如 MySQL)
  • 支持标准 SQL 语法
  • 适合:桌面应用、嵌入式系统、原型开发、学习 SQL

二、安装 SQLite(命令行工具)1. 检查是否已安装

bash
sqlite3 --version

如果提示版本号(如 3.45.0),说明已安装。


2. 安装方式

系统
安装命令
macOS
已预装,或用 Homebrew: brew install sqlite
Ubuntu/Debian
sudo apt update && sudo apt install sqlite3
CentOS/RHEL
sudo yum install sqlitesudo dnf install sqlite
Windows
下载 https://www.sqlite.org/download.htmlsqlite-tools-win32-x86-*.zip → 解压后将 sqlite3.exe 加入 PATH

三、进入与退出 SQLite 命令行进入 SQLite 命令行

bash
# 1. 打开一个现有数据库文件
sqlite3 mydatabase.db

# 2. 创建并打开一个新数据库(文件不存在会自动创建)
sqlite3 demo.db

# 3. 进入内存数据库(临时,关闭即消失)
sqlite3 :memory:
进入后提示符变为:sqlite>

退出 SQLite 命令行

bash
sqlite> .quit

bash
sqlite> .exit

快捷键:

  • Linux/macOS: Ctrl + D
  • Windows: Ctrl + Z + Enter(或 .quit

四、常用元命令(以 . 开头)

命令
功能
.help
显示所有元命令帮助
.quit / .exit
退出
.databases
查看当前打开的数据库
.tables
列出所有表
.schema
查看所有表的创建语句
.schema 表名
查看指定表的结构
.headers on
显示列标题
.mode column
表格格式显示(推荐)
.mode list
列表格式(默认)
.output 文件名
将输出保存到文件
.read 文件名.sql
执行 SQL 文件

推荐设置(每次进入都可运行)

bash
sqlite> .headers on
sqlite> .mode column

五、数据库基本操作1. 创建数据库(自动完成)

bash
sqlite3 myapp.db

→ 文件 myapp.db 自动创建在当前目录。


2. 查看当前数据库路径

bash
sqlite> .databases

输出示例:

seq  name             file
---  ---------------  -----------------------
0    main             /path/to/myapp.db

六、表操作(CRUD)示例:创建一个 users

sql
CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT UNIQUE,
    age INTEGER,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

1. 插入数据(INSERT)

sql
INSERT INTO users (name, email, age) VALUES ('张三', 'zhangsan@example.com', 25);
INSERT INTO users (name, email, age) VALUES ('李四', 'lisi@example.com', 30);

批量插入:

sql
INSERT INTO users (name, email, age) VALUES
('王五', 'wangwu@example.com', 22),
('赵六', 'zhaoliu@example.com', 28);

2. 查询数据(SELECT)

sql
-- 查看所有数据
SELECT * FROM users;

-- 带条件
SELECT name, age FROM users WHERE age > 25;

-- 排序
SELECT * FROM users ORDER BY age DESC;

-- 分页
SELECT * FROM users LIMIT 2 OFFSET 1;

3. 更新数据(UPDATE)

sql
UPDATE users SET age = 26 WHERE name = '张三';

4. 删除数据(DELETE)

sql
-- 删除指定记录
DELETE FROM users WHERE email = 'lisi@example.com';

-- 删除所有数据(保留表结构)
DELETE FROM users;

5. 删除表(DROP)

sql
DROP TABLE users;

七、查看表结构与数据

bash
# 查看所有表
sqlite> .tables

# 查看表结构
sqlite> .schema users
-- 或
sqlite> PRAGMA table_info(users);

八、导入与导出数据1. 导出为 SQL 文件

bash
# 在终端(非 sqlite> 提示符下)
sqlite3 myapp.db .dump > backup.sql

2. 从 SQL 文件恢复

bash
sqlite3 newdb.db < backup.sql

3. 导入 CSV 文件

sql
-- 开启 CSV 模式
.mode csv
.import data.csv users
注意:表必须已存在,且列顺序一致

九、常用 SQL 语句速查

操作
SQL 语句
创建表
CREATE TABLE …
查看数据
SELECT * FROM 表名;
筛选
WHERE 条件
排序
ORDER BY 字段 DESC/ASC
分页
LIMIT 数量 OFFSET 偏移
统计
COUNT(*)
去重
SELECT DISTINCT 字段
模糊搜索
LIKE ‘%关键词%’
聚合
GROUP BY, HAVING

十、实战示例:完整流程

bash
# 1. 创建数据库
sqlite3 blog.db

# 2. 设置显示格式
.headers on
.mode column

# 3. 创建文章表
CREATE TABLE posts (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    content TEXT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

# 4. 插入数据
INSERT INTO posts (title, content) VALUES ('第一篇博客', '欢迎使用 SQLite!');

# 5. 查询
SELECT * FROM posts;

# 6. 退出
.quit

十一、高级技巧1. 事务(Transaction)

sql
BEGIN TRANSACTION;
INSERT INTO users ...;
UPDATE users ...;
COMMIT;  -- 或 ROLLBACK; 回滚

2. 索引(提升查询速度)

sql
CREATE INDEX idx_email ON users(email);

3. 外键(需手动开启)

sql
PRAGMA foreign_keys = ON;

CREATE TABLE orders (
    id INTEGER PRIMARY KEY,
    user_id INTEGER,
    FOREIGN KEY(user_id) REFERENCES users(id)
);

十二、常见问题(FAQ)

问题
解决方案
unable to open database file
检查路径、权限、目录是否存在
中文乱码
确保终端支持 UTF-8,数据库默认支持
.quit 不生效
.exitCtrl+D
表不存在
CREATE TABLE 或检查 .tables
想清空数据库
删除 .db 文件重新创建

十三、推荐学习资源


总结:SQLite 快速上手口诀

text
sqlite3 xxx.db         → 进入
.headers on + .mode column → 美化显示
CREATE TABLE ...       → 建表
INSERT INTO ...        → 插入
SELECT * FROM ...      → 查询
.quit                  → 退出

恭喜!你已掌握 SQLite 核心操作!
现在你可以轻松用于 Yii2、Python、移动开发、数据分析等场景。

提示:SQLite 适合 中小型项目,高并发场景建议使用 MySQL/PostgreSQL。

如需 Yii2 + SQLite 完整项目模板,可回复 yii2 sqlite demo 获取。

退出移动版