md
# 使用 Docker 进入容器并操作 SQLite 数据库(v2_user 表指南)

本文介绍如何通过 `docker exec` 进入正在运行的容器,并直接操作容器内的 SQLite 数据库,重点以 `v2_user` 表为例,涵盖查看、查询、更新和删除数据等常见操作。

---

## 一、进入容器并打开 SQLite 数据库

### 1. 查看正在运行的容器

```bash
docker ps

2. 进入容器内部

方式一(使用容器名):

bash
docker exec -it container_name /bin/sh

方式二(使用容器 ID):

bash
docker exec -it 0876e69bd9d6 /bin/sh

3. 在容器内部运行 SQLite

bash
sqlite3 /www/.docker/.data/database.sqlite

二、查看数据库表结构

1. 查看所有表(包含 v2_user)

sql
.tables

2. 查看 v2_user 表结构(字段信息)

sql
PRAGMA table_info(v2_user);

三、查询 v2_user 表数据

1. 查询所有用户数据

sql
SELECT * FROM v2_user;

2. 查看所有用户的 UUID

sql
SELECT id, email, uuid, token, created_at, updated_at
FROM v2_user
ORDER BY id;

3. 根据邮箱搜索用户

sql
SELECT id, email, uuid, token
FROM v2_user
WHERE email = '[email protected]';

4. 根据 UUID 搜索用户

sql
SELECT id, email, uuid, token
FROM v2_user
WHERE uuid = '813f670e-09a3-4f93-9b8e-1e9486fb36b8';

5. 模糊搜索 UUID

以指定前缀开头:

sql
SELECT id, email, uuid
FROM v2_user
WHERE uuid LIKE '813f670e%';

包含特定字符:

sql
SELECT id, email, uuid
FROM v2_user
WHERE uuid LIKE '%09a3%';

四、更新 v2_user 表数据

1. 修改用户名(根据 ID)

sql
UPDATE v2_user
SET username = 'updateduser'
WHERE id = 77;

2. 修改 UUID

方式一:根据用户 ID

sql
UPDATE v2_user
SET uuid = '813f670e-09a3-4f93-9b8e-1e9486fb362228' 
WHERE id = 145;

方式二:根据邮箱

sql
UPDATE v2_user
SET uuid = 'new-uuid-here-1234-5678-9abc-def012345678'
WHERE email = '[email protected]';

方式三:根据原 UUID

sql
UPDATE v2_user
SET uuid = 'new-uuid-here-1234-5678-9abc-def0123452678' 
WHERE uuid = '813f670e-09a3-4f93-9b8e-1e9486fb36b28'; 

五、删除 v2_user 表数据

1. 删除指定 ID 的用户

sql
DELETE FROM v2_user
WHERE id = 73;

2. 删除一段 ID 区间内的用户

sql
DELETE FROM v2_user
WHERE id BETWEEN 8 AND 929;

六、退出 SQLite

操作完成后,输入以下命令退出 SQLite:

bash
.exit

⚠️ 注意事项

  • 操作前建议备份数据库,尤其是执行
    code
    DELETE
    code
    UPDATE
  • 如果容器重启后数据丢失,请确认 SQLite 文件是否挂载到宿主机。
  • 大批量修改/删除数据前,建议先用
    code
    SELECT
    验证条件是否正确。

评论

还没有评论,来做第一个留言的人吧。

发表评论

验证码: