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
2、安装H2数据库
选择安装目录 -> 点击下一步 -> 安装 -> 完成
3、登录H2数据库
选择安装版的好处是安装之后有 H2 Console 图标,点击图标可以直接启动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
选择安装路径 C:\Users\com
注意:H2数据库默认安装在C:\Users\com下(com为系统用户名)
创建成功之后会在目录下新建一个 test.mv.db 文件
再次测试,连接成功
2、./ 读取的路径在%H2%/bin,如果用默认的 ./ 创建数据库,则在%H2%/bin下创建数据库 xx.mv.db 文件
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
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
(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=|’);
重新指定字符编码和文件分隔符导入表
CREATE TABLE test AS SELECT * FROM CSVREAD(‘D:\Hadoop\H2\test.csv’,‘id|name’, ‘charset=UTF-8 fieldSeparator=|’);
(4)验证查询
重新导入后中文显示正常
SELECT * FROM TEST
2、H2函数处理中文乱码
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
- Spring全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
[外链图片转存中…(img-UIAwpeET-1719156797727)]
- Spring全家桶(实战系列)
[外链图片转存中…(img-oOUoqchK-1719156797728)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-VtrfZcle-1719156797728)]
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!