Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

異なるターミナル間で小さなテーブルを手早く再作成する方法

質問

異なるターミナル間で、コピー&ペーストだけでテーブルとそのデータを手早く再作成するにはどうすればよいですか?

回答

これは、あるデータベースから別のデータベースへデータを移行するための推奨方法ではなく、本番データの移行に使用すべきではありません。

これは単に、複数の環境で開発する際に少量のデータを手早く再作成するための、その場しのぎの方法です。

  1. SHOW CREATE table で CREATE TABLE 文を取得します:
SHOW CREATE TABLE cookies;

SHOW CREATE TABLE cookies

Query id: 248ec8e2-5bce-45b3-97d9-ed68edf445a5

  1. 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) に置き換えてください

Navigation