首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在H2DB中像在MySql中一样获取sql dump?

如何在H2DB中像在MySql中一样获取sql dump?
EN

Stack Overflow用户
提问于 2010-07-15 22:44:47
回答 3查看 51.2K关注 0票数 67

我有在文件中存储数据的H2DB数据库。我有3个文件:test.18.log.dbtest.data.dbtest.index.db

当我使用mysqldump时,我想获得SQL dump文件。有可能吗?

EN

回答 3

Stack Overflow用户

发布于 2010-07-16 03:23:15

是的,有多种解决方案。一种是运行SCRIPT SQL statement

代码语言:javascript
复制
SCRIPT TO 'fileName'

另一种是使用Script tool

代码语言:javascript
复制
java org.h2.tools.Script -url <url> -user <user> -password <password>

然后,还有RUNSCRIPT statement和RunScript工具。

顺便说一下,您应该考虑升级到更新版本的H2。在较新的版本中,.data.db和.index.db这两个文件合并到一个.h2.db文件中。

票数 175
EN

Stack Overflow用户

发布于 2020-06-25 14:42:08

如果想要获得模式数据,可以使用

代码语言:javascript
复制
SCRIPT TO 'dump.sql';

如果只想获取模式,可以使用

代码语言:javascript
复制
SCRIPT SIMPLE TO 'dump.txt';
票数 7
EN

Stack Overflow用户

发布于 2021-01-22 22:03:40

您的快捷方式:

代码语言:javascript
复制
$ ls
foo.mv.db

$ wget -O h2.jar https://search.maven.org/remotecontent?filepath=com/h2database/h2/1.4.200/h2-1.4.200.jar

$ ls
foo.mv.db
h2.jar

$ java -cp h2.jar org.h2.tools.Script -url "jdbc:h2:file:./foo" -user sa -password ""

$ ls
backup.sql
foo.mv.db
h2.jar

$ cat backup.sql | head -n 20
;
CREATE USER IF NOT EXISTS "SA" SALT 'bbe17...redacted...' HASH 'a24b84f1fe898...redacted...' ADMIN;
CREATE SEQUENCE "PUBLIC"."HIBERNATE_SEQUENCE" START WITH 145;
CREATE CACHED TABLE "PUBLIC"."...redacted..."(
    "ID" INTEGER NOT NULL SELECTIVITY 100,
    [...redacted...]
    "...redacted..." VARCHAR(255) SELECTIVITY 100
);
ALTER TABLE "PUBLIC"."...redacted..." ADD CONSTRAINT "PUBLIC"."CONSTRAINT_8" PRIMARY KEY("ID");
-- 102 +/- SELECT COUNT(*) FROM PUBLIC.[...redacted...];
INSERT INTO "PUBLIC"."...redacted..." VALUES
([...redacted...]),
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3256694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档