【H2实践】之认识 H2

news2025/2/26 22:03:58

一、H2 官网

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

在这里插入图片描述

H2 是一款短小精干的 Java 内存数据库,性能强劲。

H2 的优点:

  • 非常快的数据库引擎
  • 开源
  • Java 编写
  • 支持标准 SQL, JDBC API
  • 内嵌和服务器模式,支持集群
  • 强大的安全特性
  • 可使用 PostgreSQL ODBC
  • 多版本并发
  • 基于磁盘或者内存数据库和表,支持只读数据库,临时表
  • 支持事务(read committed),两阶段提交
  • 多连接,表级锁

二、H2 安装(win11)

可根据自己的环境在官网下载安装包,我的环境是 win11 , 故选择 windows Instailler 并进行下载。
在这里插入图片描述
下载完成后双击即可安装
在这里插入图片描述
安装器运行后效果如下:
在这里插入图片描述
点击下一步开始安装,等待完成安装。最终安装后的目录如下:
在这里插入图片描述

三、H2 使用

前面章节完成了H2的安装,本章节将简单介绍H2的简单使用。

1. 连接数据库

按下 win 键,输入 “ H2 ”
在这里插入图片描述
选择 H2 Console 并打开(可以执行安装目录中bin下的h2.bat和h2.sh启动),H2 会在浏览器中打开其 Console 界面的登陆页面。效果如下:
在这里插入图片描述
H2 的Console 也支持其他数据库的使用,因此在登录前可以设置 serverd ,
Serverd Settings: 选择 H2 服务方式或其他内存数据库
Setting Name: 设置服务名称

Driver Class: 数据库驱动
JDBC URL: 数据库连接 URL ,默认 jdbc:h2:~/test
User Name: 用户名 ,默认 sa
Password: 密码,默认 123456

在 Password 中输入 123456 后即可登录成功,其界面如下:

在这里插入图片描述
注: 上图中 TB_USER 是自己测试创建的一张表

2. DDL 及 DML 使用

  1. 创建数据库

注意:不需要创建数据库
H2 在连接数据库时会自动创建或代开数据库。H2 会分析 url 末端的字符串,并将其记为是数据库名。当创建连接时,H2 会检查该数据库是否已经创建,若已创建则直接打开;否则则先创建数据库,然后将其打开。

当用户连接成功后,H2 已经帮用户转到当前数据库下,用户只需执行SQL业务即可。

  1. 创建表 tb_book
-- 创建 tb_book 
create table tb_book (
  id int primary key,
  name varchar(255) not null,
  priace decimal 
);

执行结果如图:
在这里插入图片描述
3. 插入数据

向 tb_book 插入数据

-- 插入 4 条数据
insert into tb_book values(1,'《深入理解Java 虚拟机》第三版',30.00);
insert into tb_book values(2,'《web三剑客》',39.6);
insert into tb_book values(3,'《深入理解OSGI》应用与最佳实践',79.50);
insert into tb_book values(4,'《剑指Offer--Java面试宝典》',399.00);

在这里插入图片描述

  1. 查询结果

查看 tb_book 中的数据。

select * from tb_book;

在这里插入图片描述
注意: priace 被定义为 decemal 类型,为什么会丢失精度呢?

FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0

  1. 按条件查询
-- 找出价格大于100元的书籍的书名
select name  
from tb_book
where priace > 100;

结果如下:
在这里插入图片描述
6. 更新数据

更新id为2的书籍的价格为 199

-- 更新id为2的书籍的价格为 199 
update 
tb_book set priace = 199
where id = 2;
  1. 删除数据

删除 id 为1 的数据

delete 
from tb_book 
where id = 1;

  1. 删除数据表 tb_book

删除数据表 tb_book

DROP TABLE IF EXISTS tb_book;

总结

本文介绍了H2内存数据库的安装及简单实用,H2 遵循SQL规范,支持JDBC等多种形式的连接。通过对数据库的简单操作,H2的语法与常用的MySQL语法基本一致,上手比较简单。

更多信息请跳转 H2 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现云原生?推荐的几个实用工具

云原生是一种软件开发和部署的方法,它依赖于容器、微服务和自动化运维。它能使应用更高效、可靠和可扩展,并适用于不同的云平台。 如果要更直接、更通俗地解释上述概念的话。 云的本源更准确地说是一种文化,一种潮流,它必然是云…

更新 Python 100道基础入门检测练习题【下篇】(附答案)

前言 大家早好、午好、晚好吖 ❤ ~ 爆肝更新 Python 100道基础入门练习题【篇上】 更多精彩内容、资源皆可点击文章下方名片获取此处跳转 实例021:猴子偷桃 题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半&#xf…

微服务一 实用篇 - 1. SpringCloud01

《微服务一 实用篇 - 1. SpringCloud01》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《微服务一 实用篇 - 1. SpringCloud01》《微服务一 实用篇 - 1. SpringCloud01》0. 微服务课程简介1.认识微服务1.0.学习目标1.1.单体架构1.2.分布式架构1.3.微服务…

1000亿数据、30W级qps如何架构?来一个天花板案例

1000亿级存储、30W级qps系统如何架构?来一个天花板案例 说在前面 在尼恩的(50)读者社群中,经常遇到一个 非常、非常高频的一个架构面试题,类似如下: 千万级数据,如何做系统架构?亿…

外网跨网远程控制内网计算机3种方案

远程控制,通俗来讲就是在自己个人电脑直接远程访问另台主机电脑桌面操作。 如何远程控制电脑?远程控制别人计算机的方案通常有两种,一种是开启电脑系统自带的远程桌面功能,如果涉及跨网内、外网互通可以同时用快解析内网映射外网&…

windows 下 安裝mysql 5.7.41 (64位) 超简单方式

文章目录1. 安装包下载2.安装步骤3. 服务卸载方式4. 配上 my.ini 常用配置1. 安装包下载 注意,截至2023年2月23日,MySQL所有版本不提供ARM芯片架构的Windows版本(8.0.12开始支持Red Hat系统的ARM版本),所以ARM架构的Windows无法安装MySQL&am…

如何批量重命名,把文件(夹)名的内容位置调整(前后移动)

首先,需要用到的这个工具: 百度 密码:qwu2 蓝奏云 密码:2r1z 情况是这样,把“中文[数字]”的名称,改为"中文 - 数字" 打开工具,切换到 文件批量复制 模块,快捷键Ctrl5 …

【同步工具类:CountDownLatch】

同步工具类:CountDownLatch介绍源码分析继承图核心方法分析await()countDown()业务场景代码实现测试结果总结介绍 Jdk原文翻译 CountDownLatch 一种同步辅助工具,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。 CountDownLatch用给定的计…

css3的重点内容

css3的重点内容 浮动 父级边框塌陷问题 浮动的清除 clear:left; //清除左侧浮动 clear:right; //清除右侧浮动 clear:both; //清除两侧浮动解决方案 增加父级元素的高度增加一个空的div,之后清除浮动通过overflow来进行相关元素的修剪给父类添加相应的伪类元素…

使用 docker 部署 MySQL 会导致数据丢失吗

2023年2月28日,今天下午电话面试 java 岗位,经过一些提问后,面试官问了一个问题,“那么你最近在关注什么方面的技术点呢?”,可能是我之前的回答不太理想,且说辞都是“不好意思,可能最…

JS逆向-百度翻译sign

前言 本文是该专栏的第36篇,后面会持续分享python爬虫干货知识,记得关注。 有粉丝留言,近期需要做个翻译功能,考虑到百度翻译语言语种比较全面,但是它的参数被逆向加密了,对于这种情况需要怎么处理呢?所以本文以它为例。 废话不多说,跟着笔者直接往下看正文详细内容。…

狂飙狂飙,一年都沉浸在狂飙中,教你们用python来实现在图片中添加日历

前言 我是小废物,才开始看狂飙,这热点还能蹭上吗 该说不说,是真的很喜欢里面的大嫂啊,现在壁纸都一直是她,大美女谁不喜欢啊 昨天还是前天刷到了她出席活动,太帅了吧 不多说,先看大美女 &am…

【面试1v1实景模拟】Redis面试官会怎么提问?本文助你面试入坑,赶快收藏吧~

笑小枫专属目录老面👴:小伙子,咱来聊聊Redis,你知道什么是Redis吗?老面👴:除了key-value类型的数据,你还知道Redis的哪几种数据结构?老面👴:你说说在什么场景下使用了R…

taobao.opensecurity.uid.get( open security uid 获取接口 )

¥免费不需用户授权 根据明文 taobao user id 换取 app的 open_uid 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 点击获取key和secret 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, …

2023年湖北助理工程师(初级职称)怎么评?需要什么资料?启程别

2023年湖北助理工程师(初级职称)怎么评?需要什么资料?启程别 助理工程师主要是指初级工程技术人员的职务名称,他是通过相关考试和相关部门评审通过之后所获得的相应名称,想要了解职称更多相关资料可以咨询启…

使用字典快速输入编号(匹配编码表)

实例需求:在A列输入样品名称之后,在B列字段填写编号,其规则如下: 如果A列已经存在相同样品名称,则将编号递增,例如:A15输入沥青,最后一行相同样品名称在第12行,B15填写递…

第十届蓝桥杯省赛——4质数(质数判断,数学函数:开方函数)

题目:试题 D: 质数本题总分:10 分【问题描述】我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算第 2019 个质数是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数&…

环形缓冲区(c语言)

1、概念介绍 在我们需要处理大量数据的时候,不能存储所有的数据,只能先处理先来的,然后将这个数据释放,再去处理下一个数据。 如果在一个线性的缓冲区中,那些已经被处理的数据的内存就会被浪费掉。因为后面的数据只能…

使用码匠连接一切|二

目录 Elasticsearch Oracle ClickHouse DynamoDB CouchDB 关于码匠 作为一款面向开发者的低代码平台,码匠提供了丰富的数据连接能力,能帮助用户快速、轻松地连接和集成多种数据源,包括关系型数据库、非关系型数据库、API 等。平台提供了…

软测入门(一)测试理念及基础知识

软测入门理念 软件的分类 按层次划分:系统软件、应用软件按组织划分:商业软件、开源软件按结构划分:单机软件、 软件缺陷 由来 Grace Hopper发明Cobol计算机语言,也是找出电脑程序中第一个bug的女程序员 BugDefect 定义 软…