问题
如何仅使用不同终端之间的复制/粘贴快速重新创建表及其数据?
答案
这不是将数据从一个数据库迁移到另一个数据库的推荐做法,不应将其用于生产数据迁移。
这仅仅是为了在多个环境中开发时快速而简便地重新创建少量数据。
- 使用
SHOW CREATE table
获取 CREATE TABLE 语句
SHOW CREATE TABLE cookies;
SHOW CREATE TABLE cookies
Query id: 248ec8e2-5bce-45b3-97d9-ed68edf445a5
┌─statement────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.cookies
(
`id` String,
`timestamp` DateTime
)
ENGINE = MergeTree
ORDER BY id
SETTINGS index_granularity = 8192 │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
- 使用
FORMAT SQLInsert
获取数据导出
SELECT * FROM cookies FORMAT SQLInsert;
SELECT *
FROM cookies
FORMAT SQLInsert
Query id: 383759b8-69c0-4561-ab95-f8224abc0071
INSERT INTO table (`id`, `timestamp`) VALUES ('4', '2023-03-15 16:28:46')
, ('2', '2023-03-15 16:28:41')
, ('1', '2023-03-15 16:11:02'), ('1', '2023-03-15 16:11:40'), ('1', '2023-03-15 16:11:48'), ('1', '2023-03-15 16:16:05'), ('2', '2023-03-15 16:11:06'), ('3', '2023-03-15 16:11:12'), ('3', '2023-03-15 16:11:45'), ('3', '2023-03-15 16:16:08'), ('4', '2023-03-15 16:11:14'), ('4', '2023-03-15 16:11:50'), ('4', '2023-03-15 16:16:01'), ('5', '2023-03-15 16:11:18'), ('5', '2023-03-15 16:16:11')
;
15 rows in set. Elapsed: 0.023 sec.
请注意,您需要将步骤 2 中的 table
名称替换为实际的表名(在本例中为 cookies
)