H2 数据库入门和基本使用

H2 数据库入门和基本使用小编这些年深知大多数初中级工程师 想要提升自己 往往是自己摸索成长 自己不成体系的自学效果低效漫长且无助

大家好,欢迎来到IT知识分享网。

目录

一、H2数据库安装

1、H2官方下载

2、安装H2数据库

3、登录H2数据库

4、登录错误解决

5、修改H2数据库密码

二、数据导入导出

1、数据导出

2、数据导入

3、数据插入

三、中文乱码解决

1、H2数据导入导出乱码处理

2、H2函数处理中文乱码

四、空间索引表的使用

1、创建空间索引表

2、几何空间相交查询

五、H2GIS空间扩展

1、H2GIS下载

2、H2GIS安装运行

3、H2GIS空间扩展

六、H2数据库备份

1、启动h2gis

2、数据库备份

3、H2GIS空间扩展

4、删除H2GIS空间扩展的表

5、注释压缩文件重新打包

6、导入数据


一、H2数据库安装


1、H2官方下载

H2官网:http://h2database.com/html/main.html

H2教程一:https://www.ctolib.com/docs/sfile/h2-database-doc/Quickstart/index.html

H2教程二:http://www.vue5.com/h2_database/h2_database.html

H2 数据库入门和基本使用

2、安装H2数据库

选择安装目录 -> 点击下一步 -> 安装 -> 完成

H2 数据库入门和基本使用H2 数据库入门和基本使用

H2 数据库入门和基本使用

3、登录H2数据库

选择安装版的好处是安装之后有 H2 Console 图标,点击图标可以直接启动H2并使用默认浏览器访问H2登录页面

H2 数据库入门和基本使用H2 数据库入门和基本使用

但是 win 2019-10-14 版本的 H2 数据库并没有自动创建一个test数据库,所以这里登录不了

报错信息如下:

Database “C:/Users/com/test” not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 (帮助)

4、登录错误解决

1、点击任务栏下的黄色小图标,选择 Create a new database

H2 数据库入门和基本使用

选择安装路径  C:\Users\com

注意:H2数据库默认安装在C:\Users\com下(com为系统用户名)

创建成功之后会在目录下新建一个 test.mv.db 文件

再次测试,连接成功

H2 数据库入门和基本使用

H2 数据库入门和基本使用

2、./ 读取的路径在%H2%/bin,如果用默认的 ./ 创建数据库,则在%H2%/bin下创建数据库 xx.mv.db 文件

H2 数据库入门和基本使用H2 数据库入门和基本使用

xx.mv.db 为 H2 的数据库文件 ,tcp的URL默认读取的是 C:\Users\com下(com为系统用户名)的数据库文件

读取本地目录下的指定文件夹的数据库使用

(1) jdbc:h2:file: + 数据库路径 + 数据库名称

(2) jdbc:h2:tcp://localhost/ + 数据库路径 + 数据库名称

jdbc:h2:file:D:/Program Files (x86)/H2/bin/sea

jdbc:h2:tcp://localhost/D:/Program Files (x86)/H2/bin/test001

H2 数据库入门和基本使用H2 数据库入门和基本使用

5、修改H2数据库密码

h2的用户名密码一般设置为 密码为空的sa用户

ALTER USER SA SET PASSWORD ‘’

二、数据导入导出


1、数据导出

CALL CSVWRITE(‘D:\Hadoop\H2\hello_world.csv’, ‘SELECT * FROM hello_world’);

2、数据导入

CREATE TABLE hello_world AS SELECT * FROM CSVREAD(‘D:\Hadoop\H2\hello_world.csv’)

3、数据插入

INSERT INTO hello_world SELECT * FROM CSVREAD(‘D:\Hadoop\H2\hello_world.csv’);

三、中文乱码解决


H2数据库导出CSV数据默认字符编码虽然是UTF-8,但是分隔符是 逗号

在导入的时候会中文乱码,解决办法是导出和导入时指定分隔符为 | ,字符编码为UTF-8

1、H2数据导入导出乱码处理

(1)新建测试表

DROP TABLE IF EXISTS TEST;

CREATE TABLE TEST(ID INT PRIMARY KEY,NAME VARCHAR(255));

INSERT INTO TEST VALUES(1, ‘Hello’);

INSERT INTO TEST VALUES(2, ‘World’);

INSERT INTO TEST VALUES(3, ‘乔丹’);

INSERT INTO TEST VALUES(4, ‘科比’);

INSERT INTO TEST VALUES(5, ‘艾佛森’);

INSERT INTO TEST VALUES(6, ‘麦迪’);

SELECT * FROM TEST

H2 数据库入门和基本使用

(2)指定编码导出表数据

CALL CSVWRITE(‘D:\Hadoop\H2\test.csv’, ‘SELECT * FROM TEST’, ‘charset=UTF-8 fieldSeparator=|’);

(3)删除测试表重新导入

先删除测试的数据表

DROP TABLE test

测试读取文件是否会发生乱码

CALL CSVREAD(‘D:\Hadoop\H2\test.csv’,‘id|name’, ‘charset=UTF-8 fieldSeparator=|’);

H2 数据库入门和基本使用

重新指定字符编码和文件分隔符导入表

CREATE TABLE test AS SELECT * FROM CSVREAD(‘D:\Hadoop\H2\test.csv’,‘id|name’, ‘charset=UTF-8 fieldSeparator=|’);

(4)验证查询

重新导入后中文显示正常

SELECT * FROM TEST

H2 数据库入门和基本使用

2、H2函数处理中文乱码

使用H2自带的UTF-8函数处理

CALL UTF8TOSTRING(STRINGTOUTF8(‘中文乱码测试!’))

四、空间索引表的使用


1、创建空间索引表

CREATE TABLE GEO_TABLE(GID SERIAL, THE_GEOM GEOMETRY);

INSERT INTO GEO_TABLE(THE_GEOM) VALUES

(‘POINT(500 505)’),

(‘LINESTRING(550 551, 525 512, 565 566)’),

(‘POLYGON ((550 521, 580 540, 570 564, 512 566, 550 521))’);

CREATE SPATIAL INDEX GEO_TABLE_SPATIAL_INDEX ON GEO_TABLE(THE_GEOM);

H2 数据库入门和基本使用

2、几何空间相交查询

SET @POLY=‘POLYGON ((490 490, 536 490, 536 515, 490 515, 490 490))’;

SELECT * FROM GEO_TABLE WHERE THE_GEOM && @POLY;

H2 数据库入门和基本使用

五、H2GIS空间扩展


1、H2GIS下载

h2gis官网:http://www.h2gis.org/

h2gis文档:http://javadoc.orbisgis.org/

打开官方,点击 Download 下载

H2 数据库入门和基本使用

2、H2GIS安装运行

Linux

wget https://github.com/orbisgis/h2gis/releases/download/v1.5.0/h2gis-dist-1.5.0-bin.zip -O h2gis.zip

unzip h2gis.zip

cd h2gis-standalone

nohup java -cp h2gis-dist-1.5.0.jar org.h2.tools.Server -tcpAllowOthers -tcpPort 9101 -webAllowOthers -webPort 8081 2>&1 &

java -jar h2gis-dist-1.5.0.jar

Windows

将压缩包解压,cmd打开进入解压目录

cd h2gis-standalone

java -jar h2gis-dist-1.5.0.jar

H2 数据库入门和基本使用

3、H2GIS空间扩展

初始化之后就有了H2扩展

CREATE ALIAS IF NOT EXISTS H2GIS_SPATIAL FOR “org.h2gis.functions.factory.H2GISFunctions.load”;

CALL H2GIS_SPATIAL();

H2 数据库入门和基本使用

六、H2数据库备份


1、启动h2gis

cd h2gis-standalone

java -cp h2gis-dist-1.5.0.jar org.h2.tools.Server -tcpAllowOthers -tcpPort 9101 -webAllowOthers -webPort 8081

URL链接:jdbc:h2:tcp://127.0.0.1:9101/~/testdb

2、数据库备份

java -cp /usr/local/hadoop/h2gis-standalone/bin/h2-1.4.197.jar org.h2.tools.Script -url jdbc:h2:tcp://127.0.0.1:8081/~/testdb -user sa -script /usr/local/hadoop/h2gis-standalone/table/testdb.zip -options compression zip

3、H2GIS空间扩展

CREATE ALIAS IF NOT EXISTS H2GIS_SPATIAL FOR “org.h2gis.functions.factory.H2GISFunctions.load”;

CALL H2GIS_SPATIAL();

4、删除H2GIS空间扩展的表

DROP TABLE SPATIAL_REF_SYS ;

DROP TABLE GEOMETRY_COLUMNS ;

5、注释压缩文件重新打包

H2 数据库入门和基本使用

H2 数据库入门和基本使用

6、导入数据

java -cp /usr/local/hadoop/h2gis-standalone/bin/h2-1.4.197.jar org.h2.tools.RunScript -url jdbc:h2:tcp://127.0.0.1:9101/~/testdb -user sa -script /usr/local/hadoop/h2gis-standalone/table/testdb.zip -options compression zip

最后

小编这些年深知大多数初中级工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此我收集整理了一份《2024年Java全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

H2 数据库入门和基本使用

H2 数据库入门和基本使用

H2 数据库入门和基本使用

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你需要这些资料,⬅专栏获取
hadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxMjYyNTkzNDIx,size_16,color_FFFFFF,t_70)

6、导入数据

java -cp /usr/local/hadoop/h2gis-standalone/bin/h2-1.4.197.jar org.h2.tools.RunScript -url jdbc:h2:tcp://127.0.0.1:9101/~/testdb -user sa -script /usr/local/hadoop/h2gis-standalone/table/testdb.zip -options compression zip

最后

小编这些年深知大多数初中级工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此我收集整理了一份《2024年Java全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-k8UwRzH2-20)]

[外链图片转存中…(img-bYE5IDXg-22)]

[外链图片转存中…(img-sw0VjBpW-23)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你需要这些资料,⬅专栏获取

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128380.html

(0)
上一篇 2025-08-31 21:45
下一篇 2025-08-31 22:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信