建库、建表、连库查询

本文介绍了如何选择并安装轻量级数据库H2,包括下载、启动服务、创建数据库、执行DDL和DML操作。同时,文章演示了如何在IntelliJ IDEA中设置数据库连接,为后续的Spring Boot与Mybatis集成奠定基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面,我们设计好了小卷生鲜的数据库表结构。相信小伙伴们都迫不及待的想要拥有一个自己的小卷生鲜的数据库,并能够做一些自己感兴趣的查询,再回顾下之前学习过的sql了吧。

数据库的选择

也许现在小伙伴在自己的本地开发环境还没有自己的数据库,正在发愁去哪里下MySQL或者选什么版本,然后再在本地安装配置一通。

职业生涯大部分时间都在curd的小卷,给大伙儿推荐一款轻量级且sql语法有很好兼容性的数据库——H2 database。

有了它我们可以快速开发,实现curd的功能,并且用它来做单元测试也非常方便。等我们的业务功能开发好了,我们再将库迁到测试或者生产环境的mysql,然后基于一些略微有差异的sql语法做些细微的调整。

安装和使用h2数据库

下载地址:http://www.h2database.com/html/main.html

进入主页看到下载区域,发现很小的一个库,只有几兆大:

在这里插入图片描述

它的版本更新很频繁,作为保守派的小卷,一向在版本的选择上都力求稳定。对H2数据库的版本也是如此,测试发现较新的版本在sql语法兼容性上会比较敏感,执行ddl时有些语法会报错。而用老的版本没有这个问题,因此这里我采用的是以下这个版本:

在这里插入图片描述

小伙伴要下载这个版本,点All Downloads链接进去,就能找到这个版本下载。地址为:http://www.h2database.com/html/download-archive.html,找到:

在这里插入图片描述

在本地秒装,安装好后,记得把快捷启动方式发送到桌面:

在这里插入图片描述

只要双击,就可快速启动h2数据库服务,会默认打开浏览器,显示客户端连接界面。首先,我们以一个内嵌服务的模式,直接连到这个服务,来创建一个db_juan_mall的库,注意这里的URL,我们可以指定要兼容的数据库,这里是MySQL:

在这里插入图片描述

进来后我们看到这样的界面,说明库创建成功了:

在这里插入图片描述

实际上它默认在我们用户目录下生成了一个数据库文件,这就是咱们小卷生鲜数据库的全部内容了:

在这里插入图片描述

初始化只有16k大小,接下来我们换一种通过数据库连接来连H2服务,这种server模式支持多个程序通过连接来连库:

在这里插入图片描述

接下来我们将基于之前小节创建好的数据库模型pdm所导出的ddl(基于MySQL版本)来创建我们的数据库表。具体操作是,先从PowerDesigner中导出ddl:

在这里插入图片描述

在这里插入图片描述

粘贴过来,全选执行:

在这里插入图片描述

执行完成后,可以检查下,所有内容都创建ok:

在这里插入图片描述

本质上我们建立的key,它也属于索引嘛,在Indexes中可以看到:

在这里插入图片描述

然后我们就可以执行数据的初始化操作了,比如我们粘贴下面的dml语句放到这个web控制台运行:

-- 初始化分类数据
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(1, 0, '水果', 1, 1, now(), now());
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(2, 1, '苹果', 2, 1, now(), now());
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(3, 2, '红富士', 3, 1, now(), now());

在这里插入图片描述

再执行查看可以看到查询的结果:

在这里插入图片描述

总的来说用H2数据库自带的web控制台写sql还是很麻烦的,没有自动补全提示,没有语法高亮和检查。我们可以安装自己喜欢的数据库客户端连接工具,而idea本身就内置了这样的数据库工具。

使用idea数据库连接工具

在这里插入图片描述

下载匹配的驱动jar到本地,下载地址:https://mvnrepository.com/artifact/com.h2database/h2/1.4.200

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后点ok。

终于,我们连接上了:

在这里插入图片描述

来查询下:

在这里插入图片描述

ok,咱们的数据库环境都好了,可以开始正常的开发了。下一节,我们将学习spring boot与mybatis的集成,实现一个最基本的分类列表的查询,大家加油!

注:下文中的 *** 代文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: 中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·本文档为双语同时展示,一行原文、一行译文,可逐行对照,避免了原文/译文来回切换的麻烦; ·有原文可参照,不再担心翻译偏差误导; ·边学技术、边学英语。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
### 如何在数据库中创数据库中创数据库)和数据库管理的基本操作。以下是关于如何在数据库中创的详细说明。 #### 创数据库数据库的基本语法如下: ```sql CREATE DATABASE 数据库名; ``` 如果需要确保数据库不存在时才创,可以使用以下语法: ```sql CREATE DATABASE IF NOT EXISTS 数据库名; ``` 此外,还可以指定字符集来创数据库: ```sql CREATE DATABASE 数据库名 CHARACTER SET 字符集; ``` 例如,创一个名为 `mydb6_product` 的数据库,并使用 UTF-8 字符集[^1]: ```sql CREATE DATABASE mydb6_product CHARACTER SET utf8; ``` #### 数据库 可以通过以下命令看所有数据库: ```sql SHOW DATABASES; ``` 要看某个数据库的定义信息,可以使用: ```sql SHOW CREATE DATABASE 数据库名; ``` #### 删除数据库 如果需要删除一个数据库,可以使用以下命令: ```sql DROP DATABASE 数据库名; ``` #### 创的基本语法如下: ```sql CREATE TABLE 名 ( 字段名1 字段类型 约束, 字段名2 字段类型 约束, ... ); ``` 例如,创一个名为 `employees` 的,包含 `id`、`name`、`age`、`gender` 和 `salary` 字段[^3]: ```sql CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, gender VARCHAR(10) NOT NULL DEFAULT 'unknown', salary FLOAT ); ``` #### 可以通过以下命令看当前数据库中的所有: ```sql SHOW TABLES; ``` 要的结构,可以使用以下命令: ```sql DESC 名; ``` 或者看创的 SQL 语句: ```sql SHOW CREATE TABLE 名; ``` #### 修改结构 如果需要修改结构,可以使用以下命令: - 添加字段: ```sql ALTER TABLE 名 ADD 字段名 字段类型; ``` - 修改字段类型: ```sql ALTER TABLE 名 MODIFY 字段名 字段类型; ``` - 修改字段名称: ```sql ALTER TABLE 名 CHANGE 旧字段名 新字段名 字段类型; ``` - 删除字段: ```sql ALTER TABLE 名 DROP 字段名; ``` #### 删除 如果需要删除一个,可以使用以下命令: ```sql DROP TABLE 名; ``` ### 示例代码 以下是一个完整的示例,展示如何创数据库: ```sql -- 创数据库 CREATE DATABASE IF NOT EXISTS mydb6_product CHARACTER SET utf8; -- 使用数据库 USE mydb6_product; -- 创 CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, gender VARCHAR(10) NOT NULL DEFAULT 'unknown', salary FLOAT ); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java小卷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值