Files
mengyanote/mengyanote-backend/mengyanote/.trash/SQLite常用命令.md
2025-12-19 15:51:26 +08:00

3.4 KiB
Raw Blame History


一、交互式命令(以 . 开头)

在 SQLite 命令行中执行:

命令 说明
.help 查看所有命令帮助
.open 文件名 打开或创建数据库文件
.databases 显示当前打开的数据库
.tables 显示所有表
.schema [表名] 显示表结构(不加表名则显示所有)
.dump [表名] 导出数据库或表的 SQL 语句(用于备份)
.output 文件名 将查询结果输出到文件(默认输出到屏幕)
.read 脚本文件 执行 SQL 脚本文件
.mode 模式 设置输出模式(如 csv, column, list, html 等)
.headers on/off 显示/隐藏列标题
.quit.exit 退出 SQLite 命令行
.import 文件 表名 从 CSV 文件导入数据到表
.show 显示当前设置(如输出模式、分隔符等)
.indexes [表名] 显示索引信息
.backup 文件名 备份数据库到文件

二、常用 SQL 语句

1. 数据库与表操作

-- 创建表
CREATE TABLE 表名 (
    1 数据类型 [约束],
    2 数据类型 [约束],
    ...
);

-- 删除表
DROP TABLE 表名;

-- 重命名表
ALTER TABLE 旧表名 RENAME TO 新表名;

-- 添加列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型;

-- 删除列SQLite 3.35+ 支持)
ALTER TABLE 表名 DROP COLUMN 列名;

2. 数据操作CRUD

-- 插入数据
INSERT INTO 表名 (1, 2) VALUES (1, 2);

-- 查询数据
SELECT * FROM 表名;
SELECT 1, 2 FROM 表名 WHERE 条件;

-- 更新数据
UPDATE 表名 SET 1=新值 WHERE 条件;

-- 删除数据
DELETE FROM 表名 WHERE 条件;

3. 索引操作

-- 创建索引
CREATE INDEX 索引名 ON 表名 (列名);

-- 删除索引
DROP INDEX 索引名;

4. 视图操作

-- 创建视图
CREATE VIEW 视图名 AS SELECT ...;

-- 删除视图
DROP VIEW 视图名;

5. 事务控制

BEGIN TRANSACTION;  -- 开始事务
COMMIT;            -- 提交事务
ROLLBACK;          -- 回滚事务

6. 实用查询

-- 条件查询
SELECT * FROM 表名 WHERE 条件;

-- 排序
SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;

-- 分组统计
SELECT , COUNT(*) FROM 表名 GROUP BY ;

-- 连接查询
SELECT * FROM 1 JOIN 2 ON 连接条件;

-- 限制结果数量
SELECT * FROM 表名 LIMIT 数量 OFFSET 偏移;

三、常用函数示例

SELECT COUNT(*) FROM 表名;           -- 计数
SELECT MAX(), MIN() FROM 表名;   -- 最大/最小值
SELECT AVG(), SUM() FROM 表名;   -- 平均值/求和
SELECT datetime('now');             -- 当前时间
SELECT DATE('now', '+1 day');       -- 日期计算

四、使用示例

# 1. 进入 SQLite 命令行并打开数据库
sqlite3 test.db

# 2. 查看所有表
.tables

# 3. 创建表
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);

# 4. 插入数据
INSERT INTO users (name) VALUES ('张三');

# 5. 查询数据
SELECT * FROM users;

# 6. 导出 SQL 备份
.output backup.sql
.dump

# 7. 退出
.quit

注意事项

  1. SQLite 中 没有用户管理和权限控制
  2. 所有数据库保存在单个文件中(.db.sqlite
  3. 大部分 SQL 标准语法支持,但某些高级功能(如存储过程、外键约束需显式启用)有限制
  4. 可通过 .read 命令批量执行 SQL 脚本