一、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 使用
- 创建数据库
注意:不需要创建数据库
H2 在连接数据库时会自动创建或代开数据库。H2 会分析 url 末端的字符串,并将其记为是数据库名。当创建连接时,H2 会检查该数据库是否已经创建,若已创建则直接打开;否则则先创建数据库,然后将其打开。
当用户连接成功后,H2 已经帮用户转到当前数据库下,用户只需执行SQL业务即可。
- 创建表 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);
- 查询结果
查看 tb_book 中的数据。
select * from tb_book;
注意: priace 被定义为 decemal 类型,为什么会丢失精度呢?
FLOAT和DOUBLE在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0
- 按条件查询
-- 找出价格大于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;
- 删除数据
删除 id 为1 的数据
delete
from tb_book
where id = 1;
- 删除数据表 tb_book
删除数据表 tb_book
DROP TABLE IF EXISTS tb_book;
总结
本文介绍了H2内存数据库的安装及简单实用,H2 遵循SQL规范,支持JDBC等多种形式的连接。通过对数据库的简单操作,H2的语法与常用的MySQL语法基本一致,上手比较简单。
更多信息请跳转 H2 官网
系列文章
1、【H2实践】之认识 H2
2、【H2实践】之 SpringBoot 整合
3、【H2实践】之 SpringBoot 与 H2 数据交互